Skriv ut flera argument i Python
Det här är bara ett utdrag ur min kod:
print("Total score for %s is %s ", name, score)
Men jag vill att den ska skrivas ut:
"Total poäng för (namn) är (poäng)"
där name
är en variabel i en lista och score
är ett heltal. Detta är Python 3.3 om det hjälper något.
281
3
Det finns många olika sätt att göra detta. För att rätta din nuvarande kod med hjälp av
%
-formatering måste du skicka in en tupel:Lämna den som en tupel:
En tupel med ett enda element ser ut som
('this',)
.Här är några andra vanliga sätt att göra det på:
Överlämna det som en ordbok:
Det'finns också strängformatering i ny stil, vilket kan vara lite lättare att läsa:
Använd ny stil för strängformatering:
Använd ny stil för strängformatering med siffror (användbart för att omordna eller skriva ut samma siffra flera gånger):
Använd strängformatering i ny stil med explicita namn:
Sammanfoga strängar:
De två tydligaste, enligt min mening:
Överför bara värdena som parametrar:
Om du inte vill att mellanslag ska infogas automatiskt av
print
i exemplet ovan, ändra parameternsep
:Om du använder Python 2 kan du inte använda de två sista alternativen eftersom
print
inte är en funktion i Python 2. Du kan dock importera detta beteende från__future__
:Använd den nya
f
-strängformateringen i Python 3.6:För att hålla det enkelt gillar jag personligen strängkonkatenation:
Den fungerar med både Python 2.7 och 3.X.
OBS: Om score är ett int, bör du konvertera det till str:
Försök bara: