Les expressions et l'affectation sont des exemples d'instructions simples. Il y a aussi des instructions composites (en anglais : compound statements) caractérisées par le fait qu'elles contiennent d'autres instructions. Un exemple simple d'une telle instruction est l'instruction conditionnelle if. Elle permet d'exécuter une instruction ou une autre selon la valeur d'une expression. Voici un exemple :
>>> x = 4 >>> if x > 3: ... y = 2 ... else: ... y = 5 ... >>> y 2 >>>
Ici on remarque plusieurs choses :
Un autre exemple d'instruction composite est la boucle while. Une boucle est une instruction capable de répéter plusieurs fois l'exécution d'une séquence d'instructions.
Il s'agit là d'une autre caractéristique de la programmation impérative. En effet, il est possible d'obtenir n'importe quelle fonctionnalité réalisable par un ordinateur seulement avec l'instruction d'affectation, l'instruction conditionnelle et l'instruction de boucle while, ainsi que des expressions arithmétiques.
Voici un exemple de boucle while :
>>> fac = 1 >>> i = 1 >>> while i <= 6: ... fac = fac * i ... i = i + 1 ... >>> fac 720 >>>
Ici, nous avons utilisé la boucle while pour calculer la factorielle de . Sur les deux premières lignes, on trouve l'initialisation (i.e., l'affectation d'une valeur initiale) des deux variables fac et i. La variable fac va ultérieurement contenir la valeur de la factorielle. La variable i est incrémentée après chaque itération de la boucle. On appelle une telle variable un compteur de boucle. Les instructions du corps de la boucle (à savoir fac = fac * i et i = i + 1 sont répétées tant que la valeur de la variable i est inférieure ou égale à .