Maison > Questions et réponses > le corps du texte
Titre : Utilisez Python pour imprimer tous les nombres pairs inférieurs à 100
Le premier morceau de code :
n = 1
i = 2*n
while i <= 100:
print(i)
n+=1
Résultat de l'exécution du code : impression infinie numéro 2
Deuxième code :
n = 1
i = 2*n
while i <= 100:
print(i)
n+=1
i = 2*n
Résultat de l'exécution du code : imprimé correctement
Ma question :
Pourquoi le résultat imprimé par le premier morceau de code est-il erroné, mais le deuxième morceau de code ajoute simplement i=2*n à la boucle while et le résultat est correct ? Est-il possible que dans le premier morceau de code, où n+=1, n ne puisse pas changer la valeur de i alors que n ajoute constamment 1 ? Pourquoi?
伊谢尔伦2017-05-24 11:37:01
Dans la boucle, il changera sans exécuter le changement de i = 2*n
,它的值又怎么会改变. 只有执行了相应的语句,才会改变的.
初始赋值 i = 2*n
, i
的值不会动态的随n
Il ne changera que si l'instruction correspondante est exécutée
仅有的幸福2017-05-24 11:37:01
Oui, ajouter 1 à n dans le premier morceau de code ne change pas la valeur de i, i vaut toujours 2.
while循环的语法是:
while 条件:
code...
Tant que la condition est vraie, la boucle continuera.
La condition du premier paragraphe a toujours été i < 100, c'est-à-dire 2 < 100, ce qui satisfait à la condition, il continuera donc à boucler.