Get started learning Python with DataCamp's free Intro to Python tutorial. Learn Data Science by completing interactive coding challenges and watching videos by expert instructors. Start Now!

This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join 11 million other learners and get started learning Python for data science today!

Good news! You can save 25% off your Datacamp annual subscription with the code LEARNPYTHON23ALE25 - Click here to redeem your discount

Boucles


Il existe deux types de boucles en Python, for et while.

La boucle "for"

Les boucles for itèrent sur une séquence donnée. Voici un exemple :

primes = [2, 3, 5, 7]
for prime in primes:
    print(prime)

Les boucles for peuvent itérer sur une séquence de nombres en utilisant les fonctions range et xrange. La différence entre range et xrange est que la fonction range retourne une nouvelle liste avec les nombres de cette plage spécifiée, alors que xrange retourne un itérateur, ce qui est plus efficace. (Python 3 utilise la fonction range, qui fonctionne comme xrange). Notez que la fonction range commence à zéro.

# Affiche les nombres 0,1,2,3,4
for x in range(5):
    print(x)

# Affiche 3,4,5
for x in range(3, 6):
    print(x)

# Affiche 3,5,7
for x in range(3, 8, 2):
    print(x)

Boucles "while"

Les boucles while se répètent tant qu'une certaine condition booléenne est vraie. Par exemple :

# Affiche 0,1,2,3,4

count = 0
while count < 5:
    print(count)
    count += 1  # Cela équivaut à count = count + 1

Instructions "break" et "continue"

break est utilisé pour sortir d'une boucle for ou while, tandis que continue est utilisé pour passer le bloc actuel et revenir à l'instruction "for" ou "while". Voici quelques exemples :

# Affiche 0,1,2,3,4

count = 0
while True:
    print(count)
    count += 1
    if count >= 5:
        break

# Affiche uniquement les chiffres impairs - 1,3,5,7,9
for x in range(10):
    # Vérifie si x est pair
    if x % 2 == 0:
        continue
    print(x)

Peut-on utiliser la clause "else" pour les boucles ?

Contrairement à des langages comme C, CPP.. nous pouvons utiliser else avec les boucles. Lorsque la condition de la boucle du "for" ou "while" échoue, alors la partie de code dans "else" est exécutée. Si une instruction break est exécutée à l'intérieur de la boucle for, alors la partie "else" est ignorée. Notez que la partie "else" est exécutée même s'il y a une instruction continue.

Voici quelques exemples :

# Affiche 0,1,2,3,4 puis affiche "count value reached 5"

count=0
while(count<5):
    print(count)
    count +=1
else:
    print("count value reached %d" %(count))

# Affiche 1,2,3,4
for i in range(1, 10):
    if(i%5==0):
        break
    print(i)
else:
    print("ceci n'est pas imprimé car la boucle for est terminée à cause du break et non en raison de l'échec de la condition")

Exercice

Parcourez et imprimez tous les nombres pairs de la liste numbers dans le même ordre qu'ils sont reçus. N'imprimez aucun nombre qui vient après 237 dans la séquence.

numbers = [ 951, 402, 984, 651, 360, 69, 408, 319, 601, 485, 980, 507, 725, 547, 544, 615, 83, 165, 141, 501, 263, 617, 865, 575, 219, 390, 984, 592, 236, 105, 942, 941, 386, 462, 47, 418, 907, 344, 236, 375, 823, 566, 597, 978, 328, 615, 953, 345, 399, 162, 758, 219, 918, 237, 412, 566, 826, 248, 866, 950, 626, 949, 687, 217, 815, 67, 104, 58, 512, 24, 892, 894, 767, 553, 81, 379, 843, 831, 445, 742, 717, 958, 609, 842, 451, 688, 753, 854, 685, 93, 857, 440, 380, 126, 721, 328, 753, 470, 743, 527 ] # your code goes here for number in numbers: numbers = [ 951, 402, 984, 651, 360, 69, 408, 319, 601, 485, 980, 507, 725, 547, 544, 615, 83, 165, 141, 501, 263, 617, 865, 575, 219, 390, 984, 592, 236, 105, 942, 941, 386, 462, 47, 418, 907, 344, 236, 375, 823, 566, 597, 978, 328, 615, 953, 345, 399, 162, 758, 219, 918, 237, 412, 566, 826, 248, 866, 950, 626, 949, 687, 217, 815, 67, 104, 58, 512, 24, 892, 894, 767, 553, 81, 379, 843, 831, 445, 742, 717, 958, 609, 842, 451, 688, 753, 854, 685, 93, 857, 440, 380, 126, 721, 328, 753, 470, 743, 527 ] # your code goes here for number in numbers: if number == 237: break if number % 2 == 1: continue print(number) test_object("number", undefined_msg="Define a object `number` using the code from the tutorial to print just the desired numbers from the exercise description.",incorrect_msg="Your `number` object is not correct, You should use an `if` statement and a `break` statement to accomplish your goal.") success_msg("Great work!")

This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join over a million other learners and get started learning Python for data science today!

Previous Tutorial Next Tutorial Take the Test
Copyright © learnpython.org. Read our Terms of Use and Privacy Policy