здравствуйте, читал, что нижеследующая задача:
# числа от 1 до 100
# вместо чисел кратных трём, программа должна печатать 'Fizz'
# вместо чисел кратных пяти - 'Buzz'
# если число кратно и трём, и пяти, программа должна печатать 'FizzBuzz'
имеет много решение и самое быстрое:
также читал в другом месте, что через filter ещё быстрей, как нижеследующий код:
переделать, чтобы делало как сказано в условии?, будет ли быстрей? спасибо
# числа от 1 до 100
# вместо чисел кратных трём, программа должна печатать 'Fizz'
# вместо чисел кратных пяти - 'Buzz'
# если число кратно и трём, и пяти, программа должна печатать 'FizzBuzz'
имеет много решение и самое быстрое:
Код:
print('\n'.join(
'FizzBuzz' if i % 3 == 0 and i % 5 == 0 else 'Fizz' if i % 3 == 0 else 'Buzz' if i % 5 == 0 else str(i) for i in
range(1, 101))) # 2.53 msec
Код:
a = [i for i in range(1, 101)]
print(list(filter(lambda x: x % 3 == 0, a)))
print(list(filter(lambda x: x % 5 == 0, a)))
print(list(filter(lambda x: x % 3 == 0 and x % 5 == 0, a)))