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)
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.")
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