English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel de base Python

Contrôle des flux Python

Fonctions en Python

Types de données en Python

Opérations sur les fichiers Python

Objets et classes Python

Dates et heures Python

Connaissances avancées Python

Manuel de référence Python

Boucles for en Python

La boucle for en Python peut itérer sur n'importe quel élément d'une séquence, comme une liste ou une chaîne de caractères.

Qu'est-ce que la boucle for en Python ?

La boucle for en Python est utilisée pour itérer sur les éléments des séquences (list,tuple,string) ou un autre objet itérable. L'itération sur une séquence est appelée 'parcourir'.

Syntaxe de la boucle for

for val in sequence:
	Corps de la boucle for

Ici, val est la variable qui récupère la valeur de l'élément de la séquence à chaque itération.

La boucle continue jusqu'à ce que nous atteignions le dernier élément de la séquence. Utilisez l'indentation pour séparer le corps de la boucle for du reste du code.

Diagramme de flux de boucle for

Diagramme de flux de boucle for Python

Exemple : boucle for Python

#程序查找列表中存储的所有数字的总和
#数字清单
numbers = [6, 5, 3, 8, 4, 2, 5, 4, 11]
# 用于存储总和的变量
sum = 0
# 遍历列表
for val in numbers:
    sum = sum+val
print("La somme est", sum)

Lorsque vous exécutez le programme, la sortie sera :

La somme est 48

La fonction range()

Nous pouvons générer une séquence de nombres en utilisant la fonction range(). range(10) produisent des nombres de 0 à9Les nombres entre10nombre de numéros).

Nous pouvons également définir le début, la fin et le pas sous la forme range(start, stop, step_size). Si non spécifié, la valeur par défaut de step_size est1.

L'objet range est en quelque sorte 'paresseux', car il ne génère pas tous les nombres 'contenus' à notre création. Mais ce n'est pas un itérateur, il prend en charge les opérations in, len et getitem.

Cette fonction ne stocke pas toutes les valeurs en mémoire; ce serait inefficace. Par conséquent, elle se souvient du début, de la fin et de l' шаг, et génère le prochain nombre en cours d'exécution.

Pour forcer cette fonction à afficher tous les éléments, vous pouvez utiliser la fonction list().

Ce exemple va démontrer cela.

print(range(10))
print(list(range(10))
print(list(range(2, 8))
print(list(range(2, 20, 3))

Output result

range(0, 10)}}
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[2, 3, 4, 5, 6, 7]
[2, 5, 8, 11, 14, 17]

We can use the range() function in the for loop to iterate over a sequence of numbers. It can be combined with the len() function to index and traverse the sequence. Here is an example.

# Program to traverse the list using index
genre = ['pop', 'rock', 'jazz']
# Traversing the list using index
for i in range(len(genre)):
    print("I like", genre[i])

When running the program, the output is:

I like pop
I like rock
I like jazz

Loop with else

The for loop can also have an optional else block.

If the items in the sequence used in the for loop are exhausted, the else part is executed.

The break keyword can be used to stop the for loop. In this case, the else part will be ignored.

Therefore, if no interruption occurs, the else part of the for loop is executed.

This is an example to illustrate this.

digits = [0, 1, 5]
for i in digits:
    print(i)
else:
    print("No remaining items.")

When running the program, the output is:

0
1
5
"No remaining items."

In this case, the for loop will print the items in the list until the loop is exhausted. When the for loop is exhausted, it executes the else code block and outputs ""No remaining items."

The for...else statement can be used with the break keyword to run the else block only if the break keyword is not executed. Let's take an example:

# Display the program of student grades in the record
student_name = 'Soyuj'
marks = {'James': 90, 'Jules': 55, 'Arthur': 77}
for student in marks:
    if student == student_name:
        print(marks[student])
        break
else:
    print('No entry found with this name.')

Output result

No entry found with this name.