Написание Fizz and Buzz без цикла

307 просмотра
0
0 Комментариев

Мне задали задачу написания Fizz and Buzz без цикла!
Я не понимаю как это?
И гуглил и спрашивал на других сайтах.
Ничего)))
Будте добры помогите)


Добавить комментарий

1 Ответы

Python Опубликовано 16.12.2018
0

Решение рекурсивной функцией:

def fizzbuzz(n):
    if n == 0:
        return
    fizzbuzz(n - 1)
    if n % 3 == 0:
        print('Fizz', end='')
    if n % 5 == 0:
        print('Buzz', end='')
    if n % 3 and n % 5:
        print(n, end='')
    print('')
 
 
fizzbuzz(100)

https://repl.it/NA0u/0

Решение списковым включением:

print("\n".join([("Fizz"*(not i%3)+"Buzz"*(not i%5)+str(i)*(i%3!=0 and i%5!=0)) for i in range(1,101)]))

https://repl.it/NA0n/0

И вариант из ответа @MaxU, но без объявления отдельной функции:

print('\n'.join(map(lambda n: "FizzBuzz" if n % 15 == 0 else "Fizz" if n % 3 == 0 else "Buzz" if n % 5 == 0 else str(n), range(1, 101))))

https://repl.it/NA2P/0

Добавить комментарий
Напишите свой ответ на данный вопрос.
Scroll Up