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

2 つのオプション:

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...

print歴史的なメモ: Python 2 では、ステートメントの最後にコンマを追加することでこれを実現できました。print "fizzbuzz",

于 2013-08-27T06:07:23.680 に答える
4

これを行うと、すべてが 1 行に出力されます。

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

print ステートメントがコンマで終わっていない限り、'\n' 文字が最後に書き込まれます。

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

于 2013-08-27T06:12:19.030 に答える