L'alternative en langage Python

Résolution commentée

La résolution proposée à la page précédente est assez facile à mettre en oeuvre.

  1. Prendre connaissance du nombre de doigts montrés par le joueur A.
  2. Prendre connaissance du nombre de doigts montrés par le joueur B.
  3. Calculer une information complémentaire: la somme des nombres de doigts montrés.
  4. Décider qui est le vainqueur: si la somme est paire, dire que le joueur A est gagnant, sinon dire que le joueur B est gagnant
  5. communiquer le nom du gagnant: le joueur A ou le joueur B.

Il suffit maintenant de traduire ce texte en langage Python

Ligne 1 et 2: à l'aide de la fonction input(), il est simple de prendre connaissance du nombre de doigts montrés par chacun des deux joueurs.

Ligne 3: le calcul de la somme dans une variable ne pose pas de problème.

Ligne 5: écrire une information déterminée à l'étape 4 est très aisé.

Ah, aaah! Je vois que vous avez eu peur de la ligne 4. Soigneusement passée sous silence.

La ligne 4 est effectivement la seule pour laquelle il existe une vraie nouveauté. Je vous propose donc de la rédiger ensemble.

  • Ouvre l'éditeur de texte et recopies-y les lignes suivantes correspondant aux ligne 1, 2, 3 et 5 de la méthode décrite.
#! /usr/bin/python

joueurA = input ("Nombre de doigts du joueur A: ")
joueurB = input ("Nombre de doigts du joueur B: ")

somme = joueurA + joueurB
********

print "Le vainqueur est ", gagnant
  • Enregistre ce texte sous le nom doigts.py.
  • Vérifie que tu comprends bien le rôle de chacune des instructions.

Toujours aussi téméraire: rien pour la ligne 4. Prudemment remplacée par des *

Passons donc à cette ligne 4 tant attendue.

Comme dans la leçon sur l'alternative dans le tableur (à revoir si nécessaire), nous pouvons écrire la situation selon la forme

Si < la somme est paire >
Alors le joueur A gagne
Sinon le joueur B gagne
Fin Si

ou selon la forme de l'arbre binaire

arbre binaire

Nous allons maintenant l'exprimer en langage Python.
  • Supprime les * du texte précédent
  • Frappe la première ligne de l'alternative, y compris le double point ":" final

if (somme % 2 == 0):

Le symbole ":" annonce que l'instruction n'est pas finie.

  • Complète le code avec la première branche de l'alternative.

if (somme % 2 == 0):
    gagnant = "le joueur A"

  • Vérifie que tu as bien inséré une tabulation ou, éventuellement, quelques espaces avant la deuxième ligne. TRES IMPORTANT.

Toutes les instructions à exécuter si l'expression logique est vraie sont maintenant notées. Même s'il n'y en a qu'une seule ici.

  • Poursuis le texte en annonçant la suite de l'alternative

if (somme % 2 == 0):
    gagnant = "le joueur A"
else:

"else" est la traduction en anglais de "sinon".
Le mot "else" est suivi d'un double point ":" pour annoncer qu'il y a une suite.

  • Termine le texte de l'alternative avec les instructions à exécuter si l'expression logique est fausse.

if (somme % 2 == 0):
    gagnant = "le joueur A"
else:
    gagnant = "le joueur B"

  • Vérifie que tu as bien inséré une tabulation ou, éventuellement, quelques espaces avant la quatrième ligne. TRES IMPORTANT.
  • Le texte final qui doit se trouver dans l'éditeur de texte est donc bien:

#! /usr/bin/python

joueurA = input ("Nombre de doigts du joueur A: ")
joueurB = input ("Nombre de doigts du joueur B: ")

Somme = joueurA + joueurB
if (Somme % 2 == 0):
    gagnant = "le joueur A"
else:
    gagnant = "le joueur B"

print "Le vainqueur est ", gagnant

  • Vérifie que tu peux prévoir ce qui se passera lors de l'éxécution de ce programme.
  • Enregistre une dernière fois le document et exécute le programme doigts.py.
L'insertion d'un espacement devant l'instruction à exécuter permet de mettre en évidence un "bloc d'instructions" (composé ici d'une seule instruction).
Cette technique très importante dans le langage Python est appelée Indentation du code.
Nous verrons mieux son importance dans un prochain exemple.

Quand le programme fonctionne et que tu as bien compris son mode de fonctionnement, passe à la page suivante. Vers la page suivante Page suivante


Dernière modification 13/03/2017 Test dans /info ...