2

我需要打印这段代码:

for x in range (1, 21):  

    if x%15==0:
        print("fizzbuzz")

    elif x%5==0:
        print("buzz") 
    elif x%3==0:
        print("fizz")

    else:
        print (x)

水平而不是垂直打印,如下所示:

1

2

3

1 2 3

我不知道该怎么做,一些帮助会很棒。谢谢

4

3 回答 3

10

两种选择:

累积一个结果字符串,并print在最后:

result = ""  
for x in range (1, 21):  

    if x%15==0:
        result = result + "fizzbuzz "

    etc...
print result

或者告诉 Python 不要以换行符结束打印的字符串。在您似乎正在使用的 Python 3 中,您可以通过设置函数的end参数来执行此操作,默认情况下print"\n"(换行符):

for x in range (1, 21):  

    if x%15==0:
        print("fizzbuzz",end=" ")

    etc...

历史注释:在 Python 2 中,这可以通过在print语句末尾添加逗号来实现;print "fizzbuzz",

于 2013-08-27T06:07:23.680 回答
4

这样做,它将全部打印在一行上:

for x in range (1, 21):  

    if x%15==0:
        print ("fizzbuzz"),

    elif x%5==0:
        print ("buzz"), 
    elif x%3==0:
        print ("fizz"),

    else:
        print (x),

它会像这样打印:

1 2 fizz 4 buzz fizz 7 8 fizz buzz 11 fizz 13 14 fizzbuzz 16 17 fizz 19 buzz

于 2013-08-27T06:03:27.777 回答
2

一个 '\n' 字符写在末尾,除非 print 语句以逗号结尾。

http://docs.python.org/2/reference/simple_stmts.html

于 2013-08-27T06:12:19.030 回答