Jusqu'à la dernière fois, j'ai expliqué "séquentiel / branche" hors "séquentiel / branche / itération". Cette fois, j'expliquerai la "répétition". «Répéter» signifie «faire le même processus plusieurs fois» Il peut être exprimé, mais différentes valeurs peuvent être utilisées pour le même processus, donc À proprement parler, ce n'est pas le même processus.
range Si vous voulez le répéter un certain nombre de fois, utilisez ** for i dans range () **.
for_explain1.py
for i in range(5):
print("{0}".format(i))
La variable i est appelée "compteur de boucles" dans le programme. Ce programme sort un compteur de boucle, mais le résultat de l'exécution est le suivant. 0 1 2 3 4
En écrivant range (X), la valeur du compteur de boucle stocke 0 à X-1 et itère X fois. La valeur du compteur de boucle peut être utilisée dans le traitement du programme.
Vous pouvez définir la valeur de départ du compteur de boucle en écrivant range (X, Y). La valeur du compteur de boucle stocke X à Y-1 et répète Y-X fois.
for_explain2.py
for i in range(1,10):
print("{0}".format(i))
1 2 3 4 5 6 7 8 9 Le résultat de sortie sera comme ci-dessus.
enumurate Dans de nombreux cas, vous souhaitez obtenir les éléments de la liste un par un et traiter chaque élément individuellement. Dans ce cas, utilisez enumurate.
for_explain3.py
a = ["a","b","c","d","e"]
for idx,elem in enumerate(a):
print("{0} = {1}".format(idx,elem))
0 = a 1 = b 2 = c 3 = d 4 = e Le résultat de sortie sera comme ci-dessus. Deux variables peuvent être définies après pour. La première variable devient le compteur de boucle (idx dans le programme ci-dessus) Cette dernière variable sera l'élément (elem dans le programme ci-dessus) correspondant au compteur de boucle dans la liste.
for_explain4.py
a = ["a","b","c","d","e"]
for idx in enumerate(a):
print("{0}".format(idx))
(0, 'a') (1, 'b') (2, 'c') (3, 'd') (4, 'e') Si une seule variable est définie après for, la variable contiendra le compteur de boucle et l'élément correspondant.
Alors que la boucle for "se répète un nombre fixe de fois", la boucle while Il est utilisé lorsque "Répéter en satisfaisant des conditions spécifiques".
while_explain.py
a = ["ok","ok","ok","ng","ok"]
i = 0
while a[i] == 'ok':
print("a[{0}] is ok".format(i))
i = i + 1
Le résultat de sortie est le suivant. a[0] is ok a[1] is ok a[2] is ok Au début du processus itératif, il est déterminé si a [i] est "ok", et s'il est faux, le processus itératif se termine. Après un [3], il ne sera pas traité.
Lorsque vous utilisez la boucle while, assurez-vous de changer le compteur de boucle afin qu'il ne devienne pas Boucle infinie. Cependant, faites attention à l'indentation du compteur de boucle à ce stade. Le programme ci-dessous est le mauvais programme.
while_explain_IL.py
a = ["ok","ok","ok","ng","ok"]
i = 0
while a[i] == 'ok':
print("a[{0}] is ok".format(i))
i = i + 1
Inscription illégale (i = i + 1 n'est pas défini dans la boucle while) Puisque i ne change pas de 0 dans la boucle while, une boucle infinie se produit.
Le processus de «fin du processus itératif» est une rupture, et le processus de «fin de cette itération et de démarrage du processus itératif suivant» se poursuit. Vous pouvez utiliser la boucle for ou while.
break_continue_explain.py
i = 0
while i < 10:
i = i + 1
if i < 3:
continue
print("i is {0}".format(i))
if i == 5:
break
print("final i is {0}".format(i))
Le résultat de sortie est le suivant. i is 3 i is 4 i is 5 final i is 5 Dans le programme, continuer et interrompre ont les significations suivantes.
if i < 3: continue
"Si i est inférieur à 3, effectuez le processus itératif suivant sans effectuer les processus suivants." Par conséquent, si la valeur de i est 0, 1 ou 2, aucune valeur ne sera affichée à l'écran.
if i == 5: break Signifie "Si i vaut 5, le processus itératif se termine", donc la dernière sortie i est 5.
Si vous écrivez le else utilisé dans if à la fin de l'instruction de boucle, vous pouvez l'utiliser comme "traitement lorsque la boucle se termine". Vous pouvez utiliser la boucle for ou while.
loop_else.py
for i in range(3):
print("{0}".format(i))
else:
print("for loop done")
while i < 5:
i = i + 1
print("{0}".format(i))
else:
print("while loop done")
Le résultat de l'exécution est le suivant. 0 1 2 for loop done 3 4 5 while loop done
Cependant, le programme suivant renvoie le même résultat d'exécution.
loop_else2.py
for i in range(3):
print("{0}".format(i))
print("for loop done")
while i < 5:
i = i + 1
print("{0}".format(i))
print("while loop done")
Certains programmeurs qui utilisent Python quotidiennement n'utilisent pas d'autre dans les boucles.
Suivant: Cours de base Python (10 inclusions)
Recommended Posts