Cours de Développement Python
Chapitre
>
Niveau
Utilisation des dictionnaires
Itération sur les dictionnaires
Objectif
Récupérer tous les matériaux sur le terrain et faire l'inventaire de tous les objets collectés avant de les ranger dans des conteneurs spécifiques.
Une tempête a ravagé le poste avancé près du pont, dispersant les matériaux partout. Je suis sûr que ces matériaux peuvent être utilisés plus tard. Faites l'inventaire de chacun des objets que vous ramassez et rangez-les dans le dépôt de l'autre côté du pont.
Commencez par collecter tous les débris éparpillés sur le terrain, à savoir : "branches", "rochers" et "planches". Une fois que vous avez collecté tous les objets, placez-les dans un dictionnaire nommé materials et ajoutez-y les trois (3) noms de matériaux et leurs quantités.
materials = {} materials["branches"] = nombre de branches collectées ......
Une fois tout placé dans un dictionnaire, dirigez-vous vers la marque X lumineuse et faites l'inventaire de tous les matériaux que vous avez rassemblés en utilisant une boucle for avec la fonction speak(). Comme les dictionnaires sont différents des listes, vous ne pouvez pas les parcourir dans une séquence de la même manière ; les dictionnaires ont leur propre méthode pour y parvenir.
for name, number in materials.items(): player.speak("There were %d %s collected" % ( number, name))
En configurant deux variables, dans ce cas name et number, vous pouvez obtenir les deux champs d'un dictionnaire. En utilisant l'instruction in suivie du nom du dictionnaire et de la fonction items(), vous pouvez itérer sur le dictionnaire comme une boucle for normale.
Après avoir fait l'inventaire, marchez vers les marques X sombres et stockez les matériaux que vous avez rassemblés dans le dictionnaire à l'intérieur des conteneurs en utilisant la fonction place(), comme ceci : player.place(materials["branches"]). Il y a trois (3) marques X sombres, dans le conteneur de gauche placez les "branches", dans le conteneur du milieu placez les "rochers" et dans le conteneur de droite placez les "planches". Rangez tout correctement pour terminer le niveau.