我有这段Python代码:
for num in range(1,21):
string = ""
if num % 3 == 0:
string = string + "Fizz"
if num % 5 == 0:
string = string + "Buzz"
if num % 5 != 0 and num % 3 != 0:
string = string + str(num)
print(string)
而且我想知道如何制作它,以便以三的倍数打印数字+“ Fizz”。
即我们应该看到
1
2
3 Fizz
4
Buzz
6 Fizz
7
8
9 Fizz
Buzz
11
12 Fizz
13
14
FizzBuzz
16
17
18 Fizz
19
Buzz
代替当前正在打印的内容:
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16
17
Fizz
19
Buzz
我试过了
if num % 3 == 0:
string = string.extend("Fizz")
但这返回了
AttributeError: 'str' object has no attribute 'extend'
。与.append
相同。您是否对如何在Python范围内以3的倍数打印范围内的数字以及其后的单词/字符串“ Fizz”有任何建议?
谢谢!
最佳答案
更改string = string + "Fizz"
进入:
string = str(num)+ " " + "Fizz"
或者,如@ArpitSvt所建议:
string = "{} Fizz".format(num)
注意:
str
函数将int
num显式转换为str
类型。