1
votes

Comment obtenir la déclaration imprimée pour m'indiquer la date du décès des auteurs?

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)


4 commentaires

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


5 Réponses :


1
votes

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)


0 commentaires

0
votes

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)))


2 commentaires

Notez que les chaînes f sont uniquement python 3.6 et supérieur.


Merci pour cette note



0
votes
for author, date in authors.items():
   print( "%s" % author + " died in "  + date)

1 commentaires

Bien que cela puisse répondre à la question, il est utile de mettre des informations supplémentaires, expliquant ce que fait le code.



1
votes

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)


2 commentaires

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



0
votes

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!


0 commentaires