Dans les structures qui suivent, comme souvent en python, les espaces en début de ligne sont obligatoires.
Cette indentation est l'unique information permettant de savoir quand commencent et finissent les blocks des différentes structures (if, while, etc.)
Exemple d'utilisation d'une structure « Si ... alors ... sinon ... » :
>>> if 'a' < 'c' : ... print "a est plus petit que c" ... else : ... print "a est plus grand que c" ...
Dit autrement, si 'a' est plus petit que 'c' (dans l'ordre naturel des lettres), alors afficher « a est plus petit que c », sinon afficher « a est plus grand que c».
Exemple d'utilisation d'une structure « Si ... alors ... sinon si ... alors ... sinon ...» :
>>> if 1 > 2 : ... print "1 est plus grand que 2" ... elif 1 == 2 : ... print "1 est egal a 2" ... else : ... print "tout va bien" ...
(le elif signifie "sinon si...")
Exemple d'utilisation d'une structure « Si ... est dans ... alors» :
>>> c = raw_input("Saisir une lettre") >>> if c in "aeiouy" : ... print "Voyelle !" ... else : ... print "Consonne !" ...
Bref, si le caractère saisi par l'utilisateur est dans le mot "aeiouy", alors afficher voyelle, sinon afficher consonne. Avec un in, le conteneur (ici, la chaîne de caractères "aeiouy") peut aussi être une liste, comme par exemple [0, 2, 4, 6, 8] :
>>> c = input("Saisir un chiffre") >>> if c in [0, 2, 4, 6, 8] : ... print "Pair !" ... else : ... print "Impair !" ...
On peut mettre un if, then, else dans une égalité :
>>> maVariable=monExpression if maCondition else monExpression2
Par exemple, pour coder efficacement le pgcd/ppcm :
>>> def pgcd(a,b): return a if b == 0 else pgcd(b,a%b) >>> def ppcm(a,b) : return a*b/pgcd(a,b)