Informatique

Question

Bonjour
J’ai besoin d’une explication sur ce code stp j’ai regardé la réponse dans mon livre mais il donne pas d’explication du coup je comprend pas

d = {“if”:”si”,”yes”:”oui”,”no”:”non”}
for c in d :
print(c)

la reponse c’est if, yes, no mais pourquoi ?

Meme code mais à la fin c’est print(d[c])

La réponse c’est si,oui, non
Mais pourquoi ?

Merci d’avance pour les explications.

1 Réponse

  • Bonjour

    Théorie

    La variable d est une variable dite dict, pour dictionnaire. Elle contient tout un ensemble de combinaisons de clefs et leurs valeurs.

    Par exemple il y a la clef "if" qui a pour valeur "si".

    Pour définir une variable dictionnaire on fait

    ▌ dictionnaire = { "clef":"valeur" , "clef2":"valeur2" , "clef3":"valeur3" }

    Pour accéder à une valeur d'un dictionnaire on fait

    ▌ dictionnaire["clef"]

    Donc, dans l'exercice pour accéder à "oui" on fera

    ▌ d["yes"]

    Pratique

    Voici le code, la première ligne déclare simplement la variable d comme un dictionnaire contenant les clefs if, yes et no qui ont, respectivement, pour valeur si, oui et non

    ▌ d = {“if”:”si”,”yes”:”oui”,”no”:”non”}

    ▌ for c in d :

    ▌     print(c)

    La boucle for déclare que pour chaque c compris dans le dictionnaire d:

        On va afficher (print) ce à quoi il correspond

    Le c dans cette boucle aurait pu être remplacé par n'importe quelle autre lettre, il sert simplement à dire pour chaque élément de d.

    Le c sera donc, dans l'ordre, équivalant à : if, yes, no, qui sont les clefs d'entrée dans la variable d

    Comme expliqué dans la théorie du dessus, pour accéder à la VALEUR dans un dictionnaire on doit préciser la clef qui lui correspond, donc si on met

    ▌ print(d[c])

    On va afficher la valeur de chaque clef présente dans le dictionnaire.

    Pour que ca soit évident à comprendre tu peux modifier le code

    ▌ d = {“if”:”si”,”yes”:”oui”,”no”:”non”}

    ▌ for c in d :

    ▌     print(c, ' : ' , d[c])

    Cela va donc permettre d'écrire chaque clef et sa valeur, donnant donc;

    ▌>>>  if  :  si

    ▌>>>  yes  :  oui

    ▌>>>  no  :  non

    J'espère que mes explications t'aideront à comprendre, si tu as des questions ou autre tu peux les poser en commentaire

    Bonne journée :)

Autres questions