Impression de variables dans Python 3.4
Donc la syntaxe semble avoir changé de ce que j'ai appris en Python 2... voici ce que j'ai jusqu'à présent
for key in word:
i = 1
if i < 6:
print ( "%s. %s appears %s times.") % (str(i), key, str(wordBank[key]))
La première valeur de type int, la deuxième chaîne, et le final int.
Comment puis-je modifier mon impression énoncé pour qu'il imprime les variables correctement?
source d'informationauteur algorhythm
Vous devez vous connecter pour publier un commentaire.
La syntaxe a changé
print
est une fonction. Cela signifie que le%
besoins de mise en forme se fait à l'intérieur de la parenthèse:1Cependant, puisque vous êtes à l'aide de Python 3.x., en fait, vous devez être à l'aide de la plus récente
str.format
méthode:Si
%
mise en forme n'est pas officiellement obsolète (encore), elle est déconseillée en faveur destr.format
et il sera probablement retiré de la langue dans une version à venir (Python 4 peut-être?).1Juste une note mineure:
%d
est le spécificateur de format pour les nombres entiers, pas%s
.Essayer la syntaxe de format:
Sorties:
La fonction d'impression est appelé juste comme toute autre fonction, avec la parenthèse autour de tous ses arguments.
Version 3.6+: Utiliser un chaîne mise en forme littéralef-chaîne pour de courtes
Vous pouvez également formater la chaîne comme suit:
Les sorties qui
Parce que les valeurs sont nommés, leur ordre n'a pas d'importance. Faire l'exemple ci-dessous sortie le même que l'exemple ci-dessus.
Chaîne de mise en forme de cette façon, vous permet de le faire.
Le problème semble être un mal placés
)
. Dans votre exemple, vous avez la%
à l'extérieur de laprint()
vous devez la déplacer à l'intérieur:Utiliser ceci: