Activité: Marteau ciseaux papier en Python


Configuration des modules

import random

Prendre l'entrée de l'utilisateur

 action_utilisateur = input("Entrez un choix (marteau, ciseau, papier): ")

Faites choisir l'ordinateur

actions_possibles = ["marteau", "ciseaux", "papier"]
action_ordinateur = random.choice(actions_possibles)

print(f"\nVous avez choisi {action_utilisateur}, l'ordinateur a choisi {action_ordinateur}.\n")


Déterminer un gagnant

if action_utilisateur == action_ordinateur:
    print(f"Les deux joueurs ont sélectionné {action_utilisateur}. Egalité!")
elif action_utilisateur == "marteau":
    if action_ordinateur == "ciseaux":
        print("le marteau écrase les ciseaux! Vous avez gagné!")
    else:
        print("Le papier couvre le marteau! Vous avez perdu.")
elif action_utilisateur == "papier":
    if action_ordinateur == "marteau":
        print("Le papier couvre le marteau! Vous avez gagné!")
    else:
        print("Les ciseaux coupent le papier! Vous avez perdu.")
elif action_utilisateur == "ciseaux":
    if action_ordinateur == "papier":
        print("Les ciseaux coupent! Vous avez gagné!")
    else:
        print("le marteau écrase les ciseaux! Vous avez perdu.")


Relancer le jeu 


import random

while True:
  action_utilisateur = input("Entrez un choix (marteau, ciseaux, papier): ")
  actions_possibles = ["marteau", "ciseaux", "papier"]
  action_ordinateur = random.choice(actions_possibles)

  print(f"\nVous avez choisi {action_utilisateur}, l'ordinateur a choisi {action_ordinateur}.\n")

  if action_utilisateur == action_ordinateur:
    print(f"Les deux joueurs ont sélectionné {action_utilisateur}. Egalité!")
  elif action_utilisateur == "marteau":
    if action_ordinateur == "ciseaux":
        print("le marteau écrase les ciseaux! Vous avez gagné!")
    else:
        print("Le papier couvre le marteau! Vous avez perdu.")
  elif action_utilisateur == "papier":
    if action_ordinateur == "marteau":
        print("Le papier couvre le marteau! Vous avez gagné!")
    else:
        print("Les ciseaux coupent le papier! Vous avez perdu.")
  elif action_utilisateur == "ciseaux":
    if action_ordinateur == "papier":
        print("Les ciseaux coupent! Vous avez gagné!")
    else:
        print("le marteau écrase les ciseaux! Vous avez perdu.")
        
        
  jouer_a_nouveau = input("Jouer à nouveau? (o/n): ")
  if jouer_a_nouveau.lower() != "o":
        break


Décrire une action avec enum.IntEnum


from enum import IntEnum

class Action(IntEnum):
    marteau = 0
    ciseaux = 1
    papier = 2

Le flux (organigramme) de votre programme



Divisez votre code en fonctions

import random

from enum import IntEnum

class Action(IntEnum):
    marteau = 0
    ciseaux = 1
    papier = 2

    
def get_choix_utilisateur():
    user_input = input("Entrez votre choix (marteau[0], ciseaux[1], papier[2]): ")
    selection = int(user_input)
    action = Action(selection)
    return action
    
def get_choix_ordinateur():
    selection = random.randint(0, len(Action) - 1)
    action = Action(selection)
    return action


def determiner_gagnant(action_utilisateur, action_ordinateur):
    if action_utilisateur == action_ordinateur:
       print(f"Les deux joueurs ont sélectionné {action_utilisateur.name}. Egalité!")
    elif action_utilisateur == Action.marteau:
       if action_ordinateur == Action.ciseau:
         print("le marteau écrase les ciseaux! Vous avez gagné!")
       else:
         print("Le papier couvre le marteau! Vous avez perdu.")
    elif action_utilisateur == Action.papier:
       if action_ordinateur == Action.marteau:
         print("Le papier couvre le marteau! Vous avez gagné!")
       else:
         print("Les ciseaux coupent le papier! Vous avez perdu.")
    elif action_utilisateur == Action.ciseau:
       if action_ordinateur == Action.papier:
         print("Les ciseaux coupent! Vous avez gagné!")
       else:
         print("le marteau écrase les ciseaux! Vous avez perdu.")


while True:
  action_utilisateur = get_choix_utilisateur()
  action_ordinateur = get_choix_ordinateur()

  print(f"\nVous avez choisi {action_utilisateur.name}, l'ordinateur a choisi {action_ordinateur.name}.\n")

  determiner_gagnant(action_utilisateur, action_ordinateur)
  
        
  jouer_a_nouveau = input("Jouer à nouveau? (o/n): ")
  if jouer_a_nouveau.lower() != "o":
        break

Posts les plus consultés de ce blog

Activité: Jeu du serpent en python