Nieuwe uitvoer op dezelfde regel afdrukken

Ik wil de lusuitvoer op dezelfde regel naar het scherm afdrukken.

Hoe kan ik dit op de eenvoudigste manier doen voor Python 3.x

Ik weet dat deze vraag is gesteld voor Python 2.7 door een komma aan het einde van de regel te gebruiken, d.w.z. print I, maar ik kan geen oplossing vinden voor Python 3.x.

i = 0 
while i <10:
     i += 1 
     ## print (i) # python 2.7 would be print i,
     print (i) # python 2.7 would be 'print i,'

Schermuitvoer.

1
2
3
4
5
6
7
8
9
10

Wat ik wil afdrukken is:

12345678910

Nieuwe lezers bezoeken deze link ook http://docs.python. org/release/3.0.1/whatsnew/3.0.html


Antwoord 1, autoriteit 100%

Van help(print):

Help on built-in function print in module builtins:
print(...)
    print(value, ..., sep=' ', end='\n', file=sys.stdout)
    Prints the values to a stream, or to sys.stdout by default.
    Optional keyword arguments:
    file: a file-like object (stream); defaults to the current sys.stdout.
    sep:  string inserted between values, default a space.
    end:  string appended after the last value, default a newline.

U kunt het trefwoord endgebruiken:

>>> for i in range(1, 11):
...     print(i, end='')
... 
12345678910>>> 

Houd er rekening mee dat u de laatste nieuwe regel zelf moet print(). Trouwens, je krijgt in Python 2 geen “12345678910” met de komma aan het einde, je krijgt in plaats daarvan 1 2 3 4 5 6 7 8 9 10.


Antwoord 2, autoriteit 18%

* voor python 2.x *

Gebruik een afsluitende komma om een nieuwe regel te vermijden.

print "Hey Guys!",
print "This is how we print on the same line."

De uitvoer voor het bovenstaande codefragment zou zijn:

Hey Guys! This is how we print on the same line.

* voor python 3.x *

for i in range(10):
    print(i, end="<separator>") # <separator> = \n, <space> etc.

De uitvoer voor het bovenstaande codefragment zou zijn (wanneer <separator> = " "),

0 1 2 3 4 5 6 7 8 9

Antwoord 3, autoriteit 6%

Net als wat is gesuggereerd, kunt u het volgende doen:

print(i, end=',')

Uitvoer: 0,1,2,3,


Antwoord 4, autoriteit 3%

print("single",end=" ")
print("line")

dit geeft output

single line

gebruik voor de gestelde vraag

i = 0 
while i <10:
     i += 1 
     print (i,end="")

Antwoord 5, autoriteit 2%

Je kunt iets doen als:

>>> print(''.join(map(str,range(1,11))))
12345678910

Antwoord 6

>>> for i in range(1, 11):
...     print(i, end=' ')
...     if i==len(range(1, 11)): print()
... 
1 2 3 4 5 6 7 8 9 10 
>>> 

Zo doet u het zodat het afdrukken niet achter de prompt op de volgende regel wordt uitgevoerd.


Antwoord 7

Laten we een voorbeeld nemen waarbij u getallen van 0 tot n op dezelfde regel wilt afdrukken. U kunt dit doen met behulp van de volgende code.

n=int(raw_input())
i=0
while(i<n):
    print i,
    i = i+1

Bij invoer, n = 5

Output : 0 1 2 3 4 

Other episodes