Aller au contenu

Questions : instructions conditionnelles

Question 1

Question

Après exécution du programme suivant, quelle serait la valeur affichée ?

nb = 15
if nb % 2 == 0 :
    nb = nb * 5
else:
    nb = nb * 2
print(nb)
  • 15
  • 30
  • 75
  • 150
  • 15
  • 30
  • 75
  • 150

L'expression de la clause if, nb % 2 == 0, a pour valeur False quand nb vaut 15.
L'instruction exécutée est donc nb = nb * 2, ce qui affecte à nb la valeur 30.

Question 2

Question

Après exécution du programme suivant, quelle serait la valeur affichée ?

nb = 15
if nb % 2 == 0 :
    nb = nb * 5
elif nb % 5 == 0:
    nb = nb * 2
else:
    nb = nb * 3
print(nb)
  • 30
  • 45
  • 75
  • 150
  • 30
  • 45
  • 75
  • 150

L'expression de la clause if, nb % 2 == 0, a pour valeur False quand nb vaut 15.
L'expression de la clause elif, nb % 5 == 0, a pour valeur True quand nb vaut 15. L'instruction exécutée est donc nb = nb * 2, ce qui affecte à nb la valeur 30.

Question 3

Question

Après exécution du programme suivant, quelle serait la valeur affichée ?

nb = 12
if nb % 2 == 0 :
    nb = nb * 5
if nb % 5 == 0:
    nb = nb * 2
else:
    nb = nb * 3
print(nb)
  • 24
  • 36
  • 60
  • 120
  • 24
  • 36
  • 60
  • 120

L'expression de la clause du premier if, nb % 2 == 0, a pour valeur True quand nb vaut 12. L'instruction nb = nb * 5 est donc exécutée, ce qui affecte à nb la valeur 60.
L'expression de la clause du second if, nb % 5 == 0, a pour valeur True quand nb vaut 60. L'instruction nb = nb * 2, est donc aussi exécutée, ce qui affecte à nb la valeur 120.

Cet exemple montre qu'il faut attentivement distinguer les instructions if … elif des instructions if successives.