wake-up-neo.net

Neue Ausgabe in derselben Zeile drucken

Ich möchte die geloopte Ausgabe auf dem Bildschirm in derselben Zeile drucken.

Wie mache ich das auf einfachste Weise für Python 3.x

Ich weiß, dass diese Frage für Python 2.7 mit einem Komma am Ende der Zeile gestellt wurde, d. H. Print I, aber ich kann keine Lösung für Python 3.x finden.

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,'

Bildschirmausgabe.

1
2
3
4
5
6
7
8
9
10

Was ich drucken möchte, ist:

12345678910

Neue Leser besuchen auch diesen Link http://docs.python.org/release/3.0.1/whatsnew/3.0.html

94
onxx

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

Sie können das Schlüsselwort end verwenden:

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

Beachten Sie, dass Sie die letzte Zeile selbst print() müssen. Übrigens erhalten Sie in Python 2 mit dem nachgestellten Komma nicht "12345678910", sondern 1 2 3 4 5 6 7 8 9 10.

158
DSM

* für python 2.x *

Verwenden Sie ein nachgestelltes Komma, um Zeilenumbrüche zu vermeiden.

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

Die Ausgabe für das obige Code-Snippet wäre:

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

* für python 3.x *

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

Die Ausgabe für das obige Code-Snippet wäre (wenn <separator> = " "),

0 1 2 3 4 5 6 7 8 9
28
Sourav Badami

Ähnlich wie das, was vorgeschlagen wurde, können Sie Folgendes tun:

print(i,end=',')

Ausgabe: 0, 1, 2, 3,

8
Crane Huang

Sie können Folgendes tun:

>>> print(''.join(map(str,range(1,11))))
12345678910
4
Avichal Badaya
print("single",end=" ")
print("line")

dies wird die Ausgabe geben

single line

für die gestellte Frage verwenden

i = 0 
while i <10:
     i += 1 
     print (i,end="")
4
Sidharth Menon
>>> 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 
>>> 

So wird es gemacht, damit der Druck nicht hinter der Eingabeaufforderung in der nächsten Zeile ausgeführt wird.

2
J_B_M

Nehmen wir ein Beispiel, in dem Sie Zahlen von 0 bis n in derselben Zeile drucken möchten. Sie können dies mithilfe des folgenden Codes tun.

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

Bei der Eingabe ist n = 5

Output : 0 1 2 3 4 
2
shivam gupta