2017-05-09 2 views
0

Wenn ich versuche, in Python Multi-Linien mit Format-String zu drucken, zeigen die Bash den Fehler wie folgt aus:Python: Multi-Linien drucken, wenn Format-String mit

a = 'tony' 
b = '20' 
print ("I am %s\n"+ 
     "I am %s years old\n" 
     % (a,b)) 

Typeerror: nicht alle während Zeichenfolge konvertiert Argumente Formatierung

Ich frage mich, was ist falsch daran und was ist der richtige Weg, Formatstring zu verwenden, um mehrere Zeilen zu drucken.


Wenn ich Code wie diesen schreibe, wird er korrekt ausgegeben. Der einzeilige Code wird jedoch zu lang sein, das will ich nicht.

print ("I am %s\nI am %s years old\n" % (a,b)) 
+0

einfach die '+' – cdarke

+0

im Falle entfernen entfernen Sie möchte Ihr Wissen vertiefen Es gibt eine umfassende Website über Python-Formatzeichenfolgen: https://pyformat.info – Matthias

Antwort

3

Sie line continuation hier benötigen, verwenden \

Try this:

a = 'tony' 
b = '20' 
print("I am %s\n" \ 
     "I am %s years old\n" \ 
     % (a,b)) 

I am tony 
I am 20 years old 

oder Sie können nur +

print("I am %s\n" 
     "I am %s years old\n" 
     % (a,b)) 

I am tony 
I am 20 years old 
+0

Ihre Aussage, dass "Sie eine Zeilenfortsetzung benötigen, verwenden Sie", wird von dem angezeigten Code nicht unterstützt. – cdarke

+0

Danke, Bearbeitet, bitte überprüfen :) –

+0

NEIN! Du hast meinen Punkt verpasst, du brauchst hier keine Zeilenfortsetzungszeichen. Der Code, den du vorher gezeigt hast, hat gut funktioniert. Wie C sind in Python benachbarte String-Literale miteinander verklebt. – cdarke