vvkSeven
@vvkSeven
Junior Python Dev

Как брать цифры из словаря и FizzBuzz`ить их по порядку, сохранять в другой файл?

Всем доброго времени суток. Изучаю питон недавно, на курсах. Задание было сделать FizzBuzz(думаю все в курсе этой задачи) и улучшить его в таком плане : есть словарь, в котором есть 20 троек чисел. Нужно интегрировать словарь в сам код, что бы он тянул оттуда по одной тройке чисел и решал их, а затем решение сохранял в другой текстовый документ, и так со всеми 20 строками. Сам FizzBuzz я уже сделал, помогите прикрутить туда словарь.

a = int(input('Введите число fizz: '))
    b = int(input('Введите число buzz: '))
    c = int(input('Введите число, до которого нужно считать: '))

    for num in range(1, c+1):
        if num % a == 0 and num % b == 0:
            print('FB', end = ' ')
        elif num % a == 0:
            print('F', end = ' ')
        elif num % b == 0:
            print('B', end = ' ')
        else:
            print(num, end = ' ')
  • Вопрос задан
  • 296 просмотров
Решения вопроса 1
kshnkvn
@kshnkvn
yay ✌️ t.me/kshnkvn
Тут про контекстный менеджер, тут про генератор, тут про split().
numbers = []
# Открываем файл с числами в контекстном менеджере
with open('numbers.txt', 'r') as f:
    # Методом read() читаем этот файл, с помощью split('\n') убираем переносы строк
    # на выходе получаем список строк формата ['3, 7, 20', ...]
    items = f.read().split('\n')
    # Итерируем полученные строки
    for i in items:
        # С помощью все той же split(',') убираем из строки ',' и разделяем строку, на выходе список ['3', '7', '20']
        # Итерируем его с помощью генератора и конвертируем каждое элемент в число с помощью int()
        # Полученный результат пихаем в общий список number. На выходе список списков
        numbers.append([int(n) for n in i.split(',')])

# Итерируем наш список списков, думаю тут все понятно
for nums in numbers:
    for num in range(1, nums[2]+1):
        if num % nums[0] == 0 and num % nums[1] == 0:
            print('FB', end = ' ')
        elif num % nums[0] == 0:
            print('F', end = ' ')
        elif num % nums[1] == 0:
            print('B', end = ' ')
        else:
            print(num, end = ' ')
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы