Devine mon nombre ! 2.1. Thèmes abordés dans ce chapitre • commentaires • modul

Devine mon nombre ! 2.1. Thèmes abordés dans ce chapitre • commentaires • modules externes, import • variables • boucle while • condition : if... elif.... else • la fonction de conversion int • input() 2.2. Règles du jeu Ce jeu est très simple. L'ordinateur tire un nombre au hasard entre 1 et 30 et vous avez cinq essais pour le trouver. Après chaque tentative, l'ordinateur vous dira si le nombre que vous avez proposé est trop grand, trop petit, ou si vous avez trouvé le bon nombre. Exemple de partie J'ai choisi un nombre entre 1 et 30 A vous de le deviner en 5 tentatives au maximum ! Essai no 1 Votre proposition : 15 Trop petit Essai no 2 Votre proposition : 22 Trop grand Essai no 3 Votre proposition : 17 Trop grand Essai no 4 Votre proposition : 16 Bravo ! Vous avez trouvé 16 en 4 essais Remarque : les nombres en gras ont été entrés au clavier par le joueur. M.Fethi 2-1 Devine mon nombre ! 2.3. Code du programme # Devine mon nombre from random import randint nbr_essais_max = 5 nbr_essais = 1 borne_sup = 30 mon_nombre = randint(1,borne_sup) # nombre choisi par l'ordinateur ton_nombre = 0 # nombre proposé par le joueur print("J'ai choisi un nombre entre 1 et",borne_sup) print("A vous de le deviner en",nbr_essais_max,"tentatives au maximum !") while ton_nombre != mon_nombre and nbr_essais <= nbr_essais_max: print("Essai no ",nbr_essais) ton_nombre = int(input("Votre proposition : ")) if ton_nombre < mon_nombre: print("Trop petit") elif ton_nombre > mon_nombre: print("Trop grand") else: print("Bravo ! Vous avez trouvé",mon_nombre,"en",nbr_essais,"essai(s)") nbr_essais += 1 if nbr_essais>nbr_essais_max and ton_nombre != mon_nombre : print("Désolé, vous avez utilisé vos",nbr_essais_max,"essais en vain.") print("J'avais choisi le nombre",mon_nombre,".") 2.4. Analyse du programme Reprenons ce programme ligne par ligne pour l'expliquer en détails. 2.4.1. Commentaires # Devine mon nombre Ceci est un commentaire. Les commentaires n'ont pas d'influence sur le programme lui-même ; ils sont là pour aider à la lecture et à la compréhension du code. Règle 1 Le commentaire ne doit pas être redondant avec le code. Inutile de commenter des choses évidentes ! D'une manière générale, mieux le code est écrit, moins il y aura besoin de commentaires. 2.4.2. Variables nbr_essais_max = 5 nbr_essais = 1 borne_sup = 30 mon_nombre = randint(1,borne_sup) # nombre choisi par l'ordinateur ton_nombre = 0 # nombre proposé par le joueur Nous avons ici cinq variables qu'il faut initialiser. Cela signifie qu'il faut leur donner une valeur de départ. Si on ne le fait pas, l'interpréteur Python va envoyer le message d'erreur du genre : NameError: name 'nbr_essais_max' is not defined 2-2 Python 3 : objectif jeux Chapitre 2 C'est au moment où l'on initialise une variable que l'interpréteur Python la crée. On peut voir une variable comme une boîte qui va contenir une valeur : ce peut être un nombre, une chaîne de caractères, une liste, etc. Écrire nbr_essais = 1 a pour effet de déposer dans cette boîte la valeur entière 1. On ne pourra pas mettre autre chose que des nombres entiers dans cette variable par la suite. Dans la variable mon_nombre va être stockée une valeur aléatoire entière, qui changera à chaque exécution du programme. Il est à noter que si l'on avait omis la ligne from random import randint l'interpréteur Python aurait écrit le message d'erreur : NameError: name 'randint' is not defined print("J'ai choisi un nombre entre 1 et",borne_sup) print("A vous de le deviner en",nbr_essais_max,"tentatives au maximum !") Ces deux lignes écrivent à l'écran le texte entre guillemets, ainsi que les valeurs contenues dans les variables borne_sup et nbr_essais_max. En l'occurrence, on verra s'écrire sur l'écran : J'ai choisi un nombre entre 1 et 30 A vous de le deviner en 5 tentatives au maximum ! Règles pour les noms des variables Le nom d'une variable est composé des lettres de a à z, de A à Z, et des chiffres 0 à 9, mais il ne doit pas commencer par un chiffre. Les lettres accentuées, les cédilles, les espaces, les caractères spéciaux tels que $, #, @, etc. sont interdits, à l'exception du caractère _ (souligné). Le tiret (-) est bien sûr interdit puisqu'il correspond aussi à la soustraction. La casse est significative : spam et Spam sont des variables différentes ! Python compte 33 mots réservés qui ne peuvent pas non plus être utilisés comme noms de variable (ils sont utilisés par le langage lui-même) : and as assert break class continue def del elif else except False finally for from global if import in is lambda None nonlocal not or pass raise return True try while with yield 2-3 En informatique, on dit indenté plutôt que décalé à droite. 2.4.3. Boucle while (tant que) while ton_nombre != mon_nombre and nbr_essais <= nbr_essais_max: print("Essai no ",nbr_essais) ton_nombre = int(input("Votre proposition : ")) if ton_nombre < mon_nombre: print("Trop petit") elif ton_nombre > mon_nombre: print("Trop grand") else: print("Bravo ! Vous avez trouvé",mon_nombre,"en",nbr_essais,"essai(s)") nbr_essais += 1 Voici une boucle Tant que. Tant que la valeur stockée dans nom_nombre sera différente de la valeur stockée dans ton_nombre et que le nombre d'essais effectués sera inférieur ou égal au nombre d'essais maximum, alors toute la partie du code qui est indentée vers la droite sera exécutée en boucle. uploads/S4/ chapitre-2-hhhh.pdf

  • 22
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Mai 18, 2021
  • Catégorie Law / Droit
  • Langue French
  • Taille du fichier 0.2307MB