Вывод слов для чисел, делящихся на 2, 3 и 6

Проверяйте делимость на 6 первой, затем на 2 и на 3. Иначе кратные обоим числам попадут в более раннюю одиночную ветку и не получат Buzz.

Короткий ответ

Что ответить на собеседовании

Проверяйте делимость на 6 первой, затем на 2 и на 3. Иначе кратные обоим числам попадут в более раннюю одиночную ветку и не получат Buzz.

Подробный разбор

Ответ с пояснениями

Условие

Составьте программу, которая перебирает все целые числа от 1 до 100 000 и применяет к каждому из них следующие правила:

  • если число делится на 2 без остатка, вывести слово "Foo";
  • если число делится на 3 без остатка, вывести слово "Bar";
  • если число делится одновременно на 2 и 3 (то есть на 6), вывести слово "Buzz";
  • во всех остальных случаях вывести само число.

Ответ

Проверяйте делимость на 6 первой, затем на 2 и на 3. Иначе кратные обоим числам попадут в более раннюю одиночную ветку и не получат Buzz.

Программа:

for number in range(1, 100001):
    if number % 6 == 0:
        print('Buzz')
    elif number % 2 == 0:
        print('Foo')
    elif number % 3 == 0:
        print('Bar')
    else:
        print(number)

Диапазон включает 100000, поскольку верхняя граница range исключается. Для каждого числа печатается ровно одна строка. Например, 2 даёт Foo, 3 — Bar, 6 — Buzz, 7 — само число. Условия elif исключают повторный вывод для одного значения.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее