Python - FizzBu​​zz - 如何同时打印数字和字符串

标签 python printing range

我有这段 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 类型。

关于Python - FizzBu​​zz - 如何同时打印数字和字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54548643/

相关文章:

python - psycopg2 中带有标识符的动态 SQL?

java - 控制打印页面上面板的大小

php - 在 mysql、php 中搜索年龄范围

python - 使用 optparse 自己的帮助信息

python - 根据输入对大列表进行切片

python - 非贪婪换行符与 re.DOTALL 匹配

testing - 去测试特定的文件输出

android - 如何创建 PrintDocumentAdapter 来使用 Android 4.4 打印 API 打印图像

python - 如何从该列表中找到范围、平均值和前三个值而不出现类型错误?

r - 估计R中每一行的范围