📅  最后修改于: 2023-12-03 15:42:21.985000             🧑  作者: Mango
本文将为程序员介绍门|门 IT 2007中的问题12,并提供解决方案。
问题12要求编写一个程序,读入一个整数n,输出1到n的所有数字,但是对于3的倍数和5的倍数,需要输出Fizz和Buzz代替数字,同时对于既是3的倍数又是5的倍数的数字,需要输出FizzBuzz代替数字。例如,当n=15时,输出如下:
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
我们可以使用一个循环,从1到n依次处理每一个数字。对于每个数字,我们首先判断它是否为3的倍数,如果是,则输出Fizz。接着判断它是否为5的倍数,如果是,则输出Buzz。最后判断它是否既是3的倍数又是5的倍数,如果是,则输出FizzBuzz。如果都不满足,则输出数字本身。
下面是具体的代码实现:
n = int(input())
for i in range(1, n+1):
if i % 3 == 0 and i % 5 == 0:
print("FizzBuzz")
elif i % 3 == 0:
print("Fizz")
elif i % 5 == 0:
print("Buzz")
else:
print(i)
本文介绍了门|门 IT 2007中的问题12,并提供了解决方案。这个问题对于初学者来说比较简单,但对于部分人来说也有些难度,有助于提高编程能力。