无法弄清楚如何在python中水平打印?

时间:2013-08-27 05:59:09

标签: python python-3.x

我需要打印此代码:

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

我不知道如何,一些帮助会很棒。感谢

3 个答案:

答案 0 :(得分: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",

答案 1 :(得分: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

答案 2 :(得分:2)

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

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