Cours

Python Leçon 2

Conditions et boucles

En Python, ce sont les espaces en début de ligne qui délimitent les blocs. Conditions, for et while.

20 min

À la fin de cette leçon, tu sauras

  • Comprendre le rôle de l'indentation
  • Écrire if, elif, else
  • Répéter avec for, range et while

L'indentation, c'est la syntaxe

Pas d'accolades ni de end en Python : une ligne qui finit par deux-points : ouvre un bloc, et tout ce qui est décalé de 4 espaces en dessous fait partie du bloc.

note = 12

if note >= 16:
    print("Très bien")
elif note >= 10:
    print("Validé")
else:
    print("À retravailler")
print("Fin")   # plus décalé : en dehors du if

Pour combiner : and, or, not. Les commentaires commencent par #.

Attention : un décalage incohérent provoque une IndentationError. Ne mélange jamais tabulations et espaces : règle ton éditeur pour qu'il mette 4 espaces.

La boucle for

for i in range(5):        # 0, 1, 2, 3, 4
    print(i)

for i in range(1, 11):    # de 1 à 10
    print(f"7 x {i} = {7 * i}")

range(début, fin) produit les nombres de début jusqu'à fin non comprise.

La boucle while

reponse = ""
while reponse != "oui":
    reponse = input("On continue ? ")

À toi de jouer

Avec une boucle for et range, affiche les nombres de 1 à 20. Pour les multiples de 5, affiche « Bip ! » à la place du nombre. Indice : i % 5 == 0.

main.py
  • Une boucle for parcourt range(1, 21)
  • Un if teste les multiples de 5
  • Il affiche « Bip ! »
  • Un else affiche le nombre
  • Le contenu des blocs est indenté
Bloqué ? Voir une solution
for i in range(1, 21):
    if i % 5 == 0:
        print("Bip !")
    else:
        print(i)

Quiz

1Qu'est-ce qui délimite un bloc en Python ?
2Quels nombres donne range(2, 5) ?
3Comment écrit-on « sinon si » en Python ?