Table des matières
Pour la boucle
Grammaire
Exemple
Sortie
Boucle While
Quand devez-vous utiliser les boucles For et While ?
Sans conditions
差异表
结论
Maison développement back-end Tutoriel Python En Python, quelle est la différence entre une boucle for et une boucle while ?

En Python, quelle est la différence entre une boucle for et une boucle while ?

Sep 09, 2023 pm 03:37 PM
différence pour la boucle while循环 (boucle while)

En Python, quelle est la différence entre une boucle for et une boucle while ?

Dans cet article, nous découvrirons la différence entre la boucle « for » et la boucle « while ».

Pour la boucle

Une boucle for est une instruction de flux de contrôle qui exécute du code pour un nombre prédéfini d'itérations. Le mot-clé utilisé dans cette instruction de flux de contrôle est "for". Utilisez une boucle for lorsque le nombre d'itérations est connu.

La boucle for est divisée en deux parties -

Titre - Cette partie précise les itérations de la boucle. Dans la section d'en-tête, la variable de boucle est également déclarée, ce qui indique au corps quelle itération est en cours d'exécution.

Body - La section body contient les instructions exécutées pour chaque itération.

  • Les instructions d'initialisation, de vérification de condition et d'itération sont toutes écrites au début de la boucle.

  • Utilisez-le uniquement lorsque le nombre d'itérations est connu à l'avance.

  • Si aucune condition n'est mentionnée dans la boucle "for", la boucle itérera un nombre infini de fois.

  • L'initialisation n'est effectuée qu'une seule fois et ne sera pas répétée.

  • La déclaration d'itération est écrite au début.

  • Il s'exécutera donc une fois que toutes les instructions de la boucle auront été exécutées.

Grammaire

for(initialization; condition; iteration){
   //body of the 'for' loop
}
Copier après la connexion

Exemple

Le programme suivant utilise une boucle for pour imprimer tous les éléments de la liste -

# input list
inputList = [10, 20, 30, 40, 50]
print("Input list elements:")
# traversing through all elements of the list using for loop
for element in inputList:
   # printing each element of the list
   print(element)
Copier après la connexion

Sortie

Une fois exécuté, le programme ci-dessus générera le résultat suivant -

Input list elements:
10
20
30
40
50
Copier après la connexion

Boucle While

Boucle qui exécute une seule instruction ou un ensemble d'instructions par rapport à une condition vraie donnée. Cette boucle est représentée par le mot-clé « while ». Une boucle "while" est utilisée lorsque le nombre d'itérations est inconnu. Répétez cette instruction jusqu'à ce que la valeur booléenne soit fausse. Puisque la condition est testée au début de la boucle while, elle est également appelée boucle de pré-test.

  • L'initialisation et la vérification des conditions sont effectuées au début de la boucle.

  • Utilisé uniquement lorsque le nombre d'itérations est inconnu.

  • Si aucune condition n'est mentionnée dans la boucle "while", cela provoquera une erreur de compilation.

  • Si l'initialisation est effectuée tout en vérifiant la condition, alors l'initialisation aura lieu à chaque itération de la boucle.

  • L'instruction d'itération peut être écrite à tout moment dans la boucle.

Grammaire

while ( condition) {
   statements;
   //body of the loop
}
Copier après la connexion

Exemple

Le programme suivant utilise une boucle for pour imprimer tous les éléments de la liste -

# Initializing a dummy variable with 1
i = 1
# Iterate until the given condition is true
while i < 10:
   # printing the current value of the above variable
   print(i)
   # incrementing the value of i value by 1
   i += 1 
Copier après la connexion

Sortie

Une fois exécuté, le programme ci-dessus générera le résultat suivant -

1
2
3
4
5
6
7
8
9
Copier après la connexion

Quand devez-vous utiliser les boucles For et While ?

Une boucle for est utilisée lorsque nous connaissons le nombre d'itérations (c'est-à-dire combien de fois une instruction doit être exécutée). C'est pourquoi lorsque nous initialisons la boucle for, nous devons définir le point final.

Lorsque le nombre d'itérations est inconnu, utilisez une boucle while. Cela peut être utilisé lorsque nous devons terminer une boucle en fonction de conditions autres que le nombre de répétitions. Dans ce cas, il n’est pas nécessaire de connaître la situation à l’avance. C'est pourquoi on peut utiliser des expressions booléennes dans l'initialisation des boucles.

Sans conditions

Si aucune condition n'est spécifiée dans les boucles for et while, les boucles itéreront à l'infini.

Sans conditions, voici la différence entre la boucle for et la boucle while -

For Loop - Dans l'exemple ci-dessous, la boucle s'exécutera un nombre infini de fois.

Exemple

l = [1]
for m in l:
   print("TutorialsPoint")
   l.append(m)
Copier après la connexion

Sortie

Une fois exécuté, le programme ci-dessus générera le résultat suivant -

TutorialsPoint
TutorialsPoint
TutorialsPoint
TutorialsPoint
TutorialsPoint
TutorialsPoint
.
.
.
.
runs infinite times
Copier après la connexion
Copier après la connexion

Nous commençons par une liste et l'initialisons avec une seule valeur aléatoire. Ensuite, à l’aide d’une boucle for et de l’opérateur in, nous parcourons les éléments de la liste. À l'intérieur de la boucle, il imprimera du texte aléatoire, puis nous ajouterons un autre élément à la liste afin que la boucle for s'exécute à nouveau à cause du nouvel élément. Cette boucle sera exécutée un nombre infini de fois.

While Loop - Dans l'exemple ci-dessous, la boucle s'exécutera un nombre infini de fois.

Exemple

while True:
   print("TutorialsPoint")
Copier après la connexion

Sortie

Une fois exécuté, le programme ci-dessus générera le résultat suivant -

TutorialsPoint
TutorialsPoint
TutorialsPoint
TutorialsPoint
TutorialsPoint
TutorialsPoint
.
.
.
.
runs infinite times
Copier après la connexion
Copier après la connexion

差异表

比较基础 For循环 While循环
关键字 使用for关键字 使用while关键字
已使用 当迭代次数已知时,使用 For 循环。 当迭代次数未知时使用While循环。
不存在条件 不存在条件时循环无限次运行 在不存在条件的情况下返回编译时错误
初始化的性质 一旦完成,不可重复 在while循环中,每次迭代都可以重复。
函数 要进行迭代,请使用 range 或 xrange 函数。 while循环中没有这样的函数。
基于迭代的初始化 在循环开始时完成。 在 while 循环中,可以在循环体中的任何位置执行此操作。
生成器支持 Python 的 for 循环可以迭代生成器。 While 循环不能直接在生成器上迭代。
速度 for 循环比 while 循环更快。 与 for 循环相比,While 循环相对较慢。

结论

在本文中,我们通过示例了解了 for 和 while 循环之间的区别,以及 while 和 for 循环的工作原理。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment résoudre le problème des autorisations rencontré lors de la visualisation de la version Python dans le terminal Linux? Comment résoudre le problème des autorisations rencontré lors de la visualisation de la version Python dans le terminal Linux? Apr 01, 2025 pm 05:09 PM

Solution aux problèmes d'autorisation Lors de la visualisation de la version Python dans Linux Terminal Lorsque vous essayez d'afficher la version Python dans Linux Terminal, entrez Python ...

Comment enseigner les bases de la programmation novice en informatique dans le projet et les méthodes axées sur les problèmes dans les 10 heures? Comment enseigner les bases de la programmation novice en informatique dans le projet et les méthodes axées sur les problèmes dans les 10 heures? Apr 02, 2025 am 07:18 AM

Comment enseigner les bases de la programmation novice en informatique dans les 10 heures? Si vous n'avez que 10 heures pour enseigner à l'informatique novice des connaissances en programmation, que choisissez-vous d'enseigner ...

Comment éviter d'être détecté par le navigateur lors de l'utilisation de Fiddler partout pour la lecture de l'homme au milieu? Comment éviter d'être détecté par le navigateur lors de l'utilisation de Fiddler partout pour la lecture de l'homme au milieu? Apr 02, 2025 am 07:15 AM

Comment éviter d'être détecté lors de l'utilisation de FiddlereVerywhere pour les lectures d'homme dans le milieu lorsque vous utilisez FiddlereVerywhere ...

Comment copier efficacement la colonne entière d'une dataframe dans une autre dataframe avec différentes structures dans Python? Comment copier efficacement la colonne entière d'une dataframe dans une autre dataframe avec différentes structures dans Python? Apr 01, 2025 pm 11:15 PM

Lorsque vous utilisez la bibliothèque Pandas de Python, comment copier des colonnes entières entre deux frames de données avec différentes structures est un problème courant. Supposons que nous ayons deux dats ...

Comment Uvicorn écoute-t-il en permanence les demandes HTTP sans servir_forever ()? Comment Uvicorn écoute-t-il en permanence les demandes HTTP sans servir_forever ()? Apr 01, 2025 pm 10:51 PM

Comment Uvicorn écoute-t-il en permanence les demandes HTTP? Uvicorn est un serveur Web léger basé sur ASGI. L'une de ses fonctions principales est d'écouter les demandes HTTP et de procéder ...

Comment obtenir des données d'information en contournant le mécanisme anti-frawler d'Investing.com? Comment obtenir des données d'information en contournant le mécanisme anti-frawler d'Investing.com? Apr 02, 2025 am 07:03 AM

Comprendre la stratégie anti-rampe d'investissement.com, Beaucoup de gens essaient souvent de ramper les données d'actualités sur Investing.com (https://cn.investing.com/news/latest-news) ...

See all articles