Instructions Python pour Loop
Il a la capacité d'itérer sur les éléments de n'importe quelle séquence, telle qu'une liste ou une chaîne.
Syntaxe
for iterating_var in sequence:
statements(s)
Si une séquence contient une liste d'expressions, elle est évaluée en premier. Ensuite, le premier élément de la séquence est affecté à la variable itérante iterating_var . Ensuite, le bloc d'instructions est exécuté. Chaque élément de la liste est affecté à iterating_var et le bloc instruction (s) est exécuté jusqu'à ce que la séquence entière soit épuisée.
Représentation schématique
Exemple
#!/usr/bin/python
for letter in 'Python': # First Example
print 'Current Letter :', letter
fruits = ['banana', 'apple', 'mango']
for fruit in fruits: # Second Example
print 'Current fruit :', fruit
print "Good bye!"
Lorsque le code ci-dessus est exécuté, il produit le résultat suivant -
Current Letter : P
Current Letter : y
Current Letter : t
Current Letter : h
Current Letter : o
Current Letter : n
Current fruit : banana
Current fruit : apple
Current fruit : mango
Good bye!
Itération par index de séquence
Une autre façon d'itérer à travers chaque élément est le décalage d'index dans la séquence elle-même. Voici un exemple simple -
#!/usr/bin/python
fruits = ['banana', 'apple', 'mango']
for index in range(len(fruits)):
print 'Current fruit :', fruits[index]
print "Good bye!"
Lorsque le code ci-dessus est exécuté, il produit le résultat suivant -
Current fruit : banana
Current fruit : apple
Current fruit : mango
Good bye!
Ici, nous avons pris l'aide de la fonction intégrée len (), qui fournit le nombre total d'éléments dans le tuple ainsi que la fonction intégrée range () pour nous donner la séquence réelle à parcourir.
Utilisation de l'instruction else avec la boucle For
Python prend en charge d'avoir une instruction else associée à une instruction de boucle
Si la else instruction est utilisée avec un for boucle, le else est exécutée lorsque la boucle a épuisé l'itération de la liste.
L'exemple suivant illustre la combinaison d'une instruction else avec une instruction for qui recherche les nombres premiers de 10 à 20.
#!/usr/bin/python
for num in range(10,20): #to iterate between 10 to 20
for i in range(2,num): #to iterate on the factors of the number
if num%i == 0: #to determine the first factor
j=num/i #to calculate the second factor
print '%d equals %d * %d' % (num,i,j)
break #to move to the next number, the #first FOR
else: # else part of the loop
print num, 'is a prime number'
break
Lorsque le code ci-dessus est exécuté, il produit le résultat suivant -
10 equals 2 * 5
11 is a prime number
12 equals 2 * 6
13 is a prime number
14 equals 2 * 7
15 equals 3 * 5
16 equals 2 * 8
17 is a prime number
18 equals 2 * 9
19 is a prime number