Python > Le langage > Structures de contrôle

Structures de contrôle

Structures alternatives

Les structures conditionnelles (ou alternatives) permettent d'exécuter un code dans certains cas.

age = raw_input('Quel âge avez vous ?')
tarif = 10
if int(age) < 26:
    tarif = tarif * 0.75
print 'Vous payez : %d euros' % tarif

Il est possible de définir des cas alternatifs grâce à elif (contraction de else if) et un cas par défaut grâce à else.

if x < 0:
    print 'x est négatif'
elif x == 0:
    print 'x est nul'
elif x > 0:
    print 'x est positif'
else:
    print 'Hum...'

Structures itératives

Les structures itératives (ou répétitives) permettent de répéter un code.

Il existe essentiellement deux cas d'utilisations :

Dans le premier cas, le nombre d'itérations est connu à l'avance.

La boucle for

La boucle for permet de parcourir les éléments d'une séquence :

>>> noms = ['Arthur', 'Julien', 'Aurélie']

>>> for nom in noms:
>>>    print nom, len(nom)

Arthur 6
Julien 6
Aurélie 7

Il est possible d'itérer sur les indices d'une séquence (et non pas sur les éléments eux-même) grâce à la fonction range() qui produit une séquence contenant les entiers de 0 à n-1.

>>> noms = ['Arthur', 'Julien', 'Aurélie']

>>> for i in range(len(noms)):
>>>    print 'Prénom numéro %d : %s' % (i, noms[i])

Prénom numéro 0 : Arthur
Prénom numéro 1 : Julien
Prénom numéro 2 : Aurélie

Dans le cas des dictionnaires, on souhaite souvent connaître à la fois la clée et la valeur :

>>> ages = {'arthur': 25, 'julien': 32, 'aurélie': 21}

>>> for nom, age in ages.iteritems():
>>>    print nom.capitalize() + ' a ' + str(age) + ' ans.'

Arthur a 25 ans.
Aurélie a 21 ans.
Julien a 32 ans.

La boucle while

Une boucle while répète ses instructions tant qu'une condition est vraie, c'est-à-dire jusqu'à ce que cette même condition soit fausse.

>>> cpt = 4
>>> while cpt > 1:
>>>     print cpt
>>>     cpt = cpt - 1
4
3
2

Sylvain Boureliou - sylvain.boureliou@gmail.com - www.boureliou.com