Код в условии уже корректен: сначала проверяет кратность 15, затем 3 и 5. range(1, 101) включает числа от 1 до 100 включительно.
Вывод чисел от 1 до 100 с заменой по правилам FizzBuzz
Код в условии уже корректен: сначала проверяет кратность 15, затем 3 и 5. range(1, 101) включает числа от 1 до 100 включительно.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Требуется реализовать функцию, которая печатает последовательность чисел от 1 до 100. При этом:
- если число делится на 3 без остатка, вместо него выводится строка «Fizz»;
- если число делится на 5 без остатка, выводится строка «Buzz»;
- если число одновременно кратно и 3, и 5, выводится строка «FizzBuzz»;
- во всех остальных случаях выводится само число.
def main():
for i in range(1, 101):
if i%15 == 0:
print("FizzBuzz")
elif i%3 == 0:
print("Fizz")
elif i%5 == 0:
print("Buzz")
else:
print(i)
main()
Ответ
Код в условии уже корректен: сначала проверяет кратность 15, затем 3 и 5. range(1, 101) включает числа от 1 до 100 включительно.
Общую ветку ставят первой, иначе 15 попадёт только в Fizz или Buzz. Цепочка if/elif обеспечивает один вывод на число. Примеры: 1 → 1, 3 → Fizz, 5 → Buzz, 15 → FizzBuzz, 100 → Buzz. Время линейно по длине диапазона, дополнительная память постоянна при немедленной печати результатов.