J'ai une question à propos de la boucle for et while de Python3.6:Pourquoi ces boucles for et while parcourent-elles différemment?
Pourquoi les variables de la boucle while peuvent-elles affecter cette boucle, et les variables de la boucle for ne le peuvent pas? Y a-t-il un moyen de faire fonctionner ce dernier moyen?
Je fais une question mathématique en utilisant Python pour calculer, l'algorithme utilise une boucle for identique à la première dans les blocs de code. Mais avec la valeur de variable-a dans cette boucle qui change, la plage de la boucle for reste. Donc, j'utilise une boucle while pour atteindre mon objectif et ça passe. J'imagine qu'une plage (un ensemble d'éléments) est décidée une fois qu'elle a été exécutée, ou qu'une boucle for-loop ne partage pas la même 'nature' qu'une boucle while.
a = 28
for i in range(1,a):
a = a - 5
# outcomes: a = -107, i =27
a = 28
i = 1
while i < a:
a = a - 5
i = i + 1
# outcomes: a = 3, i = 6
Oui, dans la boucle for, la plage est précalculée, donc les itérations sont corrigées. Dans la boucle while, la condition est testée à nouveau en fonction des valeurs de 'a' et' i' après chaque itération. –
Vous pouvez ajouter une instruction d'impression dans chaque boucle pour voir la réponse @ cᴏʟᴅsᴘᴇᴇᴅ et les boucles Python en action. – SherylHohman
Oui, les boucles 'for' python sont des constructions" for-each " –