SHARE
TWEET

Untitled

xrock Oct 18th, 2019 74 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. from random import *
  2.  
  3. mots = ["Paris", "Janvier", "Alphabet", "Chaussure", "Ecrivain", "Pomme", "Yaourt", "Guerre", "Ordinateur"] # On crée la liste de mots qui pourront être trouvable en jouant au pendu
  4.  
  5.                                                     # On définit les variables qui seront utilisées dans le programme
  6. affichage = ""
  7. motADeviner = mots[randrange(0, len(mots))]         # Ici, motADeviner prendra un mot dans au hasard dans la liste                             # (TEST à retirer après) Pour tester le programme
  8. essaisRestants = 7
  9. lettreInput = ""
  10. motAD1 = ""
  11. motAD2 = ""
  12. coups = 0
  13. pseudo = input("Entre ton pseudonyme :")
  14.  
  15. def affichage_pendu():                              # On définit la fonction qui s'occupera de l'affichage du pendu en fonction du nombre d'essais restants
  16.     if essaisRestants == 0:
  17.         print("#  ______")
  18.         print("#  |/   |")
  19.         print("#  |    O")
  20.         print("#  |   -|-")
  21.         print("#  |   / \\")
  22.         print("#  |")
  23.         print("# _|_")
  24.     elif essaisRestants == 1:
  25.         print("#  ______")
  26.         print("#  |/   |")
  27.         print("#  |    O")
  28.         print("#  |   -|-")
  29.         print("#  |   /")
  30.         print("#  |")
  31.         print("# _|_")
  32.     elif essaisRestants == 2:
  33.         print("#  ______")
  34.         print("#  |/   |")
  35.         print("#  |    O")
  36.         print("#  |   -|-")
  37.         print("#  |")
  38.         print("#  |")
  39.         print("# _|_")
  40.     elif essaisRestants == 3:
  41.         print("#  ______")
  42.         print("#  |/   |")
  43.         print("#  |    O")
  44.         print("#  |   -|")
  45.         print("#  |")
  46.         print("#  |")
  47.         print("# _|_")
  48.     elif essaisRestants == 4:
  49.         print("#  ______")
  50.         print("#  |/   |")
  51.         print("#  |    O")
  52.         print("#  |    |")
  53.         print("#  |")
  54.         print("#  |")
  55.         print("# _|_")
  56.     elif essaisRestants == 5:
  57.         print("#  ______")
  58.         print("#  |/   |")
  59.         print("#  |    O")
  60.         print("#  |")
  61.         print("#  |")
  62.         print("#  |")
  63.         print("# _|_")
  64.     elif essaisRestants == 6:
  65.         print("#  ______")
  66.         print("#  |/   |")
  67.         print("#  |")
  68.         print("#  |")
  69.         print("#  |")
  70.         print("#  |")
  71.         print("# _|_")
  72.     elif essaisRestants == 7:
  73.         print("#  ______")
  74.         print("#  |/")
  75.         print("#  |")
  76.         print("#  |")
  77.         print("#  |")
  78.         print("#  |")
  79.         print("# _|_")
  80.  
  81. def saisie_lettre():
  82.     saisie = True
  83.     while saisie:
  84.         letterInput = input(pseudo + "Tapez une lettre du mot à deviner : ")
  85.         letterInput = letterInput.upper()
  86.         if car not in "ABCDEFGHIJKLMNOPQRSTUVWXYZ":
  87.             print(car, "n'est pas une lettre !")
  88.         elif car in lettres:
  89.             print("Vous avez déjà saisie la lettre", car, "! Recommencez !")
  90.         else:
  91.             saisie = False
  92.  
  93. for char in motADeviner:                                        # A l'aide d'une boucle for, chaque caractère du mot à deviner devient un _
  94.     motAD1 = motAD1 + "_"                                       # donc le mot à deviner sera affiché sous forme de _
  95. print(motAD1)                                                   # On affiche le mot à deviner sous forme de _ et la partie commence ensuite
  96.  
  97. while motAD1.lower() != motADeviner.lower():                    # Tant que le mot (motAD1) n'est pas trouvé (donc tant qu'il n'est pas égal à motADeviner), ça continue
  98.     if essaisRestants != 0:
  99.         letterInput = input(pseudo + ", entre une lettre :")    # On demande une lettre au joueur
  100.         coups = coups + 1                                       # On incrémente de 1 la variable "coups" pour l'afficher en fin de partie
  101.         motTest = motAD2                                        # On définit motTest pour voir s'il change à la fin, pour incrémenter de 1 la variable essaisRestants
  102.         for letter in motADeviner:                              # On teste la lettre entrée pour chaque lettre dans le mot à deviner
  103.             if letter.lower() == letterInput.lower():           # Si la lettre entrée correspond à une lettre du mot,
  104.                 motAD2 = list(motAD1)                           # motAD2 prend la valeur de motAD1 mais sous forme de liste, pour pouvoir la modifier
  105.                 motAD2[motADeviner.index(letter)] = letterInput # On remplace le _ par la bonne lettre entrée
  106.                 motAD1 = ("").join(motAD2)                      # On transforme la liste motAD2 en AD1 pour qu'elle redevienne une "vraie" variable
  107.         if motAD2 == motTest:                                   # Si motTest n'a pas changé, l'utilisateur n'a pas entré la bonne lettre,
  108.             essaisRestants -= 1                                 # donc on retire un essai dans essaisRestants
  109.         affichage_pendu()                                       # On affiche le dessin du pendu
  110.         print(motAD1)                                           # puis le mot avec les _ restants
  111.     else:
  112.         motAD1 = motADeviner                                    # Si le joueur n'a plus d'essai, motAD1 prend la valeur de motADeviner donc le jeu s'arrête
  113.  
  114. if essaisRestants != 0:
  115.     print("Bien joué", pseudo, "t'as gagné en", coups, "coups !")
  116. else:
  117.     print(pseudo, "T'as plus d'essai donc t'as perdu, le mot était", motADeviner, "!")
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top