2016-10-20 4 views
0

Also, ich habe diesen Code:Python - Leerzeichen am Ausgang Entfernen

print("%d" % a, end=(" ")) 

Es funktioniert, aber in der Ausgabe, gibt es ein Leerzeichen nach der letzten Nummer. Ich muss den letzten Whitespace loswerden. Meine Ausgabe muss in derselben Zeile angezeigt werden, getrennt durch ein Leerzeichen. Nach dem letzten Wert sollte kein Leerzeichen mehr vorhanden sein.

Hier ist ein Beispiel: (n eingegeben wird, so nehme n = 5)

0 1 1 2 3 

Ich habe versucht .strip, .join, aber keiner von ihnen arbeitete. Was muss ich tun, um die richtige Ausgabe zu erhalten? Es tut mir leid, wenn das eine zu einfache Frage ist, ich bin neu in Python.

edit: edit2:

a, b, i = 0, 1, 0 
n=int(input()) 
for j in range(0, n): 
    while i < n: 
     print("%d" % a) 
     a, b = b, a + b 
     i += 1 
+2

ist 'a' eine Liste? Was ist der Input für 'a'? Bitte bearbeiten Sie Ihre Frage und fügen Sie weitere Informationen zu Ihrer Eingabe hinzu, um zu verstehen, wonach Sie suchen. – estebanpdl

+1

Was denkst du 'end = (" ")' tut? – njzk2

+0

Siehe meine aktualisierte Antwort. Bitte geben Sie auch alle relevanten Codes in Ihre Frage ein, um deutlich zu machen, was Sie zu tun versuchen. – elethan

Antwort

1

Sie fügen den hinteren Raum, sich mit dem end Argument.

print("%d" % a, end=(" ")) 

Means drucken a in einem ' ' endet. Entfernen Sie das end Argument, und das nachgestellte Leerzeichen wird nicht mehr gedruckt (der Standard '\n' wird stattdessen gedruckt). Weitere Informationen finden Sie unter the docs for print().

Beachten Sie auch, dass das Argument end die Zeichenfolge nicht beeinflusst, die Sie drucken, d. H. a wird nicht von end beeinflusst. Wenn in einer Zeichenfolge a ein Leerzeichen enthalten ist, wird a.strip() diesen Speicherplatz entfernen. Der Grund, warum es in Ihrem Fall nicht von strip() entfernt wird, liegt darin, dass das Leerzeichen nicht in der Zeichenkette enthalten ist, die Sie drucken, sondern stattdessen zur visuellen Ausgabe durch die print()-Funktion hinzugefügt wird.

Update:

Es ist schwer zu sagen, weil es ein Geheimnis ist, was in Ihrem bearbeiten vor oder nach dem Code-Schnipsel passiert, aber es klingt wie Sie so etwas wie zu tun:

a, b, i = 0, 1, 0 
n=int(input()) 
nums = [] 
for j in range(0, n): 
    while i < n: 
     nums.append(str(a)) 
     ... 
     # Based on your desired output, 
     # I assume you modify the value of `a` somwhere in here 
     ... 
print(' '.join(nums)) 
+0

aber wenn ich das Ende = ("") entferne, ist meine Ausgabe wie – desperate

+0

+ eine Zahl jede Zeile – desperate

+1

Setzen Sie die Eingabewerte, umgewandelt in Zeichenfolgen in einer [Liste] dann "" .join (Liste) – ddbug

Verwandte Themen