2013-08-27 2 views
2

мне нужно напечатать этот код:Не можете понять, как печатать по горизонтали в python?

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 

Я не знаю, как, какая-то помощь было бы замечательно. Благодаря

ответ

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

Я не дубликатор; на самом деле я просто поддержал, потому что я считаю, что OP использует Python 3, а не 2 (учитывая то, как он писал свои функции печати/инструкции). И если он использует Python 3, то этот ответ является лучшим. – rmunn

+1

Я изменил его, и он отлично работает с end = "" спасибо за это! –

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

+4

Я считаю, что ФП с помощью Python 3, а не 2, глядя на его использование функций печати, а не заявления печати - в этом случае этот ответ будет неверным. Если он использует Python 3, подход 'end =" "' в другом ответе лучше. – rmunn

+0

Я использую 3 да, результат того, что христианин сказал, печатает вертикально. –

+0

Ohhhh очень жаль, что я не использую 3, но я сохраню свой asnwer incase, кто-то споткнется на этот вопрос и использует 2 извините за это :) – Serial

2

Символ '\ n' записывается в конце, если оператор печати не заканчивается запятой.

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

+0

Это для Python2, исходный вопрос нацелен на Python 3, где вы получаете этот эффект с помощью 'print (..., end = '')', эффективно переопределяя «конец строки» как пустой, а не по умолчанию ' n' – cfi

Смежные вопросы