Parcours Le carnet d'adresses Étape 1
Un dictionnaire de contacts
Ranger des noms et des numéros dans un dictionnaire, lire un numéro à partir d'un nom, et ajouter un contact.
Notions :dictionnaireclévaleurlongueur
Un tableau range des valeurs par numéro : 0, 1, 2… Un dictionnaire les range par nom : on demande directement le numéro de « Hugo », sans savoir à quelle place il se trouve.
telephones vaut ["Léa": "06 12 34 56 78", "Hugo": "07 98 76 54 32"]
Chaque paire s'écrit clé: valeur. Les deux-points distinguent le dictionnaire d'un tableau.
Lire et ajouter
telephones["Hugo"]donne la valeur de la clé « Hugo » ;telephones["Inès"] vaut "06 55 44 33 22"ajoute une clé, ou modifie sa valeur si elle existe ;longueur(telephones)compte les clés.
Les numéros sont rangés comme des textes : ils contiennent des espaces, et un numéro qui commence par 0 perdrait son zéro s'il était un nombre.
Ouvrez CoddyRun et partez d'un programme vide : tout commence ici.
Il te faut le logiciel pour faire cette étape. Il est gratuit : crée ton compte pour le télécharger, puis reviens ici, ta place t'attend.
Créer mon compte et téléchargerIndice 1
Déclarez telephones est un dictionnaire.
Indice 2
Les clés sont sensibles aux majuscules : « hugo » et « Hugo » sont deux clés différentes.
Indice 3
Lire une clé qui n'existe pas provoque une erreur : essayez telephones["Paul"] pour voir.
Voir la solution complète
Essayez d'abord par vous-même : c'est en cherchant qu'on apprend. La solution sert à vérifier ou à se débloquer.
@ Les déclarations
telephones est un dictionnaire
@ Programme principal
// un dictionnaire : à chaque nom (la clé) correspond un numéro (la valeur)
telephones vaut ["Léa": "06 12 34 56 78", "Hugo": "07 98 76 54 32", "Mamie": "01 23 45 67 89"]
html("<h2>Mon carnet</h2>")
affiche "Le numéro de Hugo : " + telephones["Hugo"]
affiche "Le carnet contient " + convertir_texte(longueur(telephones)) + " contacts."
// ajouter un contact, c'est donner une valeur à une nouvelle clé
telephones["Inès"] vaut "06 55 44 33 22"
affiche "Et maintenant " + convertir_texte(longueur(telephones)) + " contacts. Inès : " + telephones["Inès"]