J'essaie de faire dire que "l'auteur" est décédé à "date", mais cela ne fonctionnera pas.
authors = {
"Charles Dickens": "1870",
"William Thackeray": "1863",
"Anthony Trollope": "1882",
"Gerard Manley Hopkins": "1889"
}
for author, date in authors.items():
print( "%s" % authors + " died in " + date)
5 Réponses :
Il vous suffit de changer le nom de la variable à l'intérieur de l'impression de auteurs (votre dict complet) à auteur , représentant chaque instance de la collection:
Charles Dickens died in 1870 William Thackeray died in 1863 Anthony Trollope died in 1882 Gerard Manley Hopkins died in 1889
Cela produit la sortie suivante:
authors = {
"Charles Dickens": "1870",
"William Thackeray": "1863",
"Anthony Trollope": "1882",
"Gerard Manley Hopkins": "1889"
}
for author, date in authors.items():
print( "%s" % author + " died in " + date)
Vous pouvez utiliser le format pour cela
Charles Dickens, in 1870 William Thackeray, in 1863 Anthony Trollope, in 1882 Gerard Manley Hopkins, in 1889
Ou f-string Python 3.6 et supérieur
for author, date in authors.items():
print('{author}, in {date}'))
Sortie
authors = {
"Charles Dickens": "1870",
"William Thackeray": "1863",
"Anthony Trollope": "1882",
"Gerard Manley Hopkins": "1889"
}
for author, date in authors.items():
print('{}, in {}'.format(author, date)))
Notez que les chaînes f sont uniquement python 3.6 et supérieur.
Merci pour cette note
for author, date in authors.items(): print( "%s" % author + " died in " + date)
Bien que cela puisse répondre à la question, il est utile de mettre des informations supplémentaires, expliquant ce que fait le code.
voici la solution simple et facile à comprendre
Charles Dickens died in 1870 William Thackeray died in 1863 Anthony Trollope died in 1882 Gerard Manley Hopkins died in 1889
sortie
for author, date in authors.items(): print( author + " died in " + date)
C'est la même réponse que la réponse principale. Qu'est-ce qui est différent?
j'ai utilisé la concaténation de chaînes
Vous devez changer les auteurs dans l'instruction print en author ,
vous pouvez utiliser plusieurs styles d'impression selon vos besoins, choisissez-en un judicieusement,
authors = {
"Charles Dickens": "1870",
"William Thackeray": "1863",
"Anthony Trollope": "1882",
"Gerard Manley Hopkins": "1889"
}
for author, date in authors.items():
#your statement
print( "%s" % author + " died in " + date)
#using f before the string for python 3.6 and above
print(f"{author} died in {date}")
#using format() method of string
print("{0} died in {1}".format(author,date))
#using string concatenation
print(author + " died in "+date)
Chaque instruction imprime la même sortie mais certaines techniques sont plus utiles que d'autres comme l'utilisation de f code > ou format () vous donne plus de flexibilité.
J'espère que cela vous aidera!
c'est le format souhaité.
Charles Dickens, 1870 William Thackeray, 1863 Anthony Trollope, 1882 Gerard Manley Hopkins, 1889
c'est ce qui continue à apparaître
{'Charles Dickens': '1870', 'William Thackeray': '1863', 'Anthony Trollope': '1882', 'Gerard Manley Hopkins': '1889'} est mort en 1870 {'Charles Dickens': '1870' , 'William Thackeray': '1863', 'Anthony Trollope': '1882', 'Gerard Manley Hopkins': '1889'} est mort en 1863 {'Charles Dickens': '1870', 'William Thackeray': '1863' , 'Anthony Trollope': '1882', 'Gerard Manley Hopkins': '1889'} est mort en 1882 {'Charles Dickens': '1870', 'William Thackeray': '1863', 'Anthony Trollope': '1882' , 'Gerard Manley Hopkins': '1889'} est mort en 1889