Курс языка программирования Raku / Основы / Основы порядка выполнения / Циклы / Exercises / FizzBuzz в цикле

Решение: FizzBuzz в цикле

На этот раз проверка делимости происходит в цикле. Вместо прямой печати, фраза сначала накапливается в отдельной переменной и затем вставляется в строку.

Код

Вот новое решение:

for 1..50 -> $n {
    my $fizzbuzz = '';
    $fizzbuzz ~= 'Fizz' if $n %% 3;
    $fizzbuzz ~= 'Buzz' if $n %% 5;
    say "$n: $fizzbuzz";
}

🦋 Найдите программу в файле fizbuzz-loop.raku.

Вывод

$ raku exercises/loops/fizbuzz-loop.raku

Комментарий

Для педантичного решателя задач, решение может показаться неидеальным, так как оно выводит пробел после двоеточия даже для тех чисел, которые не получили ни Fizz, ни Buzz. Измените программу, чтобы избежать этой проблемы.

Навигация по курсу

FizzBuzz в цикле   |   Цифровая лестница