Structure de contrôle

If

Elif / else

x = 50

if x == 0:
    print("x cannot be null")
elif x > 100:
    print("x cannot be superior to 100")
else:
    print("x = ", x)

Conditions ternaires

a = 25
b = "majeur" if a >= 18 else "mineur"

print(b) # majeur

On peut également utiliser un tuple:

("is not", "is")[isPalindrome(txt)]

Switch

À partir de Python 3.10

match animal:
    case "bird":
        klass = Bird
    case "dog":
        klass = Dog
    case _:
        raise NotImplementedError(f"{animal} is not handled")

For

While

i = 0
while i<10:
    i += 1
    print(i)

break

Met fin à une boucle for ou while

for i in range(5):
    if i == 3:
      break
    print(i)
# 0 1 2

Les boucles for peuvent avoir une clause else, qui sera exécutée uniquement si la boucle s’est terminée normalement — n’a pas rencontré d’instruction break.

for n in range(2, 10):
    for x in range(2, n):
        if n % x == 0:
            print( n, 'equals', x, '*', n/x)
            break
    else:
        # loop fell through without finding a factor
        print(n, 'is a prime number')

Même chose pour while

count = 0
while (count < 3):
    count = count + 1
    print(count) 
else: 
    print("block else") 

continue

Saute l’itération en cours

for i in range(5):
    if i == 3:
      continue
    print(i)
# 0 1 2 4