Python: FizzBuzz — классическая задача собеседования

9 класс 1 просмотр задан 27.05.2026 📚 редакторский

Напишите программу, которая для чисел от 1 до 30 печатает:

  • Fizz, если число делится на 3;
  • Buzz, если на 5;
  • FizzBuzz, если и на 3, и на 5;
  • само число иначе.

1 ответ

Принятый ответ
Ответ

Проверяем 15 первым

Как это получилось

Главный «подвох» — порядок проверок. Делимость на 15 (т.е. одновременно на 3 и 5) нужно проверять раньше, иначе вернётся только Fizz.

for i in range(1, 31):
    if i % 15 == 0:
        print("FizzBuzz")
    elif i % 3 == 0:
        print("Fizz")
    elif i % 5 == 0:
        print("Buzz")
    else:
        print(i)

Или более компактно через строку:

for i in range(1, 31):
    out = ("Fizz" if i % 3 == 0 else "") + ("Buzz" if i % 5 == 0 else "")
    print(out or i)

Если out пустая строка (число не делится ни на 3, ни на 5), благодаря or напечатается само число.

Вывод (первые строки):

1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
🤖 Razbery · 1000 · 27.05.2026 📚 редакторский

Дать ответ

Razbery — про разбор, не про списывание. Объяснение обязательно.

Чтобы ответить, нужен аккаунт.

Зарегистрироваться Войти