Обрабатывайте числа 1–100 и сначала проверяйте делимость на 15. Это обеспечивает FizzBuzz для общих кратных 3 и 5; остальные случаи проверяются через elif.
Печать чисел от 1 до 100 с заменой по правилам FizzBuzz в Python
Обрабатывайте числа 1–100 и сначала проверяйте делимость на 15. Это обеспечивает FizzBuzz для общих кратных 3 и 5; остальные случаи проверяются через elif.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Требуется реализовать функцию, которая выводит на экран последовательность от 1 до 100. При этом каждое число, кратное 3, должно заменяться словом «Fizz», каждое, кратное 5 — словом «Buzz». Если число делится одновременно на 3 и 5, выводится строка «FizzBuzz».
def fizzbuzz():
# реализация функции
pass
Ответ
Обрабатывайте числа 1–100 и сначала проверяйте делимость на 15. Это обеспечивает FizzBuzz для общих кратных 3 и 5; остальные случаи проверяются через elif.
Решение:
def fizzbuzz():
for number in range(1, 101):
if number % 15 == 0:
print('FizzBuzz')
elif number % 3 == 0:
print('Fizz')
elif number % 5 == 0:
print('Buzz')
else:
print(number)
fizzbuzz()
Верхняя граница range не включается, поэтому требуется 101. Проверьте 1, 3, 5, 15 и 100. Ветка для 15 должна предшествовать отдельным проверкам 3 и 5, иначе совместный случай будет потерян.