Détails
Impression de plusieurs arguments en Python
C'est juste un extrait de mon code :
print("Total score for %s is %s ", name, score)
Mais je veux que ça s'imprime :
"Le score total de (nom) est de (score)" ;
où name
est une variable dans une liste et score
est un nombre entier. Je suis en Python 3.3, si cela peut vous aider.
281
3
Il y a plusieurs façons de le faire. Pour corriger votre code actuel en utilisant le formatage
%
, vous devez passer un tuple :Passez-le comme un tuple :
Un tuple avec un seul élément ressemble à
('this' ;,)
.Voici d'autres façons courantes de le faire :
Passez-le comme un dictionnaire :
Il existe également un nouveau style de formatage des chaînes de caractères, qui peut être un peu plus facile à lire :
Utilisez le nouveau style de formatage des chaînes de caractères :
Utilisez le nouveau style de mise en forme des chaînes avec les nombres (utile pour réorganiser ou imprimer le même nombre plusieurs fois) :
Utilisez le nouveau style de formatage des chaînes de caractères avec des noms explicites :
Concaténer des chaînes de caractères :
Les deux plus claires, à mon avis :
Passez simplement les valeurs en tant que paramètres :
Si vous ne voulez pas que les espaces soient insérés automatiquement par
print
dans l'exemple ci-dessus, changez le paramètresep
:Si vous utilisez Python 2, vous ne pourrez pas utiliser les deux derniers car
print
n'est pas une fonction dans Python 2. Vous pouvez, cependant, importer ce comportement depuis__future__
:Utilisez le nouveau formatage de la chaîne
f
dans Python 3.6 :Pour rester simple, j'aime personnellement la concaténation de chaînes de caractères :
Elle fonctionne aussi bien avec Python 2.7 que 3.X.
NOTE : Si score est un int, vous devez le convertir en str :
Essaie juste :