Reputation: 45
I need to print this code:
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)
Horizontally instead of it printing vertically, like this:
1 2 3
to
1 2 3
I am not sure how to, some help would be great. Thanks
Upvotes: 3
Views: 15763
Reputation: 11
You can try this, it tells each line what to end with and separates it with a coma for easier reading:
for x in range (1, 21):
if x%15==0:
print("fizzbuzz", end = ", ")
elif x%5==0:
print("buzz", end = ", ")
elif x%3==0:
print("fizz", end = ", ")
else:
print (x, end = ", ")
Upvotes: 0
Reputation: 14251
Two options:
Accumulate a result string and print
that at the end:
result = ""
for x in range (1, 21):
if x%15==0:
result = result + "fizzbuzz "
etc...
print result
Or tell Python not to end the printed string with a newline character. In Python 3, which you seem to be using, you do this by setting the end
argument of the print
function, which is "\n"
(a newline) by default:
for x in range (1, 21):
if x%15==0:
print("fizzbuzz",end=" ")
etc...
Historical note: In Python 2, this could be achieved by adding a comma at the end of the print
statement; print "fizzbuzz",
Upvotes: 10
Reputation: 1262
A '\n' character is written at the end, unless the print statement ends with a comma.
http://docs.python.org/2/reference/simple_stmts.html
Upvotes: 2
Reputation: 8043
do this and it will print all on one line:
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),
it will print like this:
1 2 fizz 4 buzz fizz 7 8 fizz buzz 11 fizz 13 14 fizzbuzz 16 17 fizz 19 buzz
Upvotes: 4