Je reçois une sortie étrange et je ne sais pas pourquoi. J'utilise Google Colaboratory. Il suffit de ne pas comprendre pourquoi l'ajout de l'IMC 7 fois à la fin de chaque liste imbriquée. J'en ai seulement besoin ajouté une fois. J'ai raccourci la sortie de sorte que ce n'est pas un mur de texte aussi.
Liste p> pour boucle p> sortie lorsque vous avez couru p> [['John',
84.5,
184,
0.025769405833129092,
0.025769405833129092,
0.025769405833129092,
0.025769405833129092,
0.025769405833129092,
0.025769405833129092,
0.025769405833129092],
['Ryan',
81.8,
177,
0.026452496099377696,
0.026452496099377696,
0.026452496099377696,
0.026452496099377696,
0.026452496099377696,
0.026452496099377696,
0.026452496099377696],
3 Réponses :
deuxième pour la boucle n'est pas nécessaire à cause de cela, il ajout de la même valeur plusieurs fois.
for person in person_data:
weight = person[2]
height = person[1]
bmi = weight / height**2
person.append(bmi)
Supprimer cette boucle intérieure et énumérer:
for person in person_data:
weight = person[2]
height = person[1]
bmi = weight / (height ** 2)
person.append(bmi)
C'est pour un cours, je pensais la même chose, mais c'est dans le cours fonctionnant comme ... Heights = [184, 177, 190, 188, 159, 166] Poids = [84.5, 81.8, 86.1, 92.2, 69.6 , 72.0] noms = ['John', 'Ryan', 'Bobby', 'Pete', 'Esther', 'Jane'] Code>
vous personne.Appendez la fonction (BMI) est à l'intérieur de la boucle imbriquée lorsque cela ne doit pas être. Si vous enlevez un indent, il ne jettera pas si de fois l'IMC. Vous voulez seulement ajouter l'IMC une fois par personne, de sorte qu'il devrait vraiment être dans la première à la boucle, pas dans celui qui fait le calcul. p>
Il est ajouté à la valeur 7 fois, car il y a 7 personnes dans votre liste et vous avez une boucle intérieure inutile qui est itération sur chacune d'elles (même si la boucle extérieure le fait déjà).
Ohhh je vois. Merci. Encore à apprendre.