Bonjour,

Je commence à apprendre python et je rencontre ma première difficulté !
Le programme que je fais est un programme de pierre feuille ciseaux, et je veux que le programme tourne en boucle jusqu'à ce que l'utilisateur entre l'input exit ou x en lieu et place de sa réponse pierre/feuille/ciseau

Ci-dessous le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import random
 
def play():
    flag = True
    while flag:
        user = input(" Type \"rock\", \"paper\" or \"scissors\" !")
        computer = random.choice(["rock", "paper", "scissors"])
 
        if user == "exit" or user == "x":
            flag = False
            return "You exit the game."
 
 
        print(f"\n{user} vs {computer}...\n")
 
        if user == computer:
            return "Tie!"
 
        # Rock > Scissors, Scissors > paper, paper > Rock
        if is_win(user.lower(), computer.lower()): 
            return "You won !"
 
        elif is_win(computer.lower(), user.lower()):
            return "You lost ! :( "
 
 
def is_win(player, opponent): #return true if 1st argument wins
    if (player == "rock" and opponent == "scissors") or (player == "scissors" and opponent == "paper")\
         or (player == "paper" and opponent == "rock" ):
        return True
 
 
print(play())
Mais la boucle ne marche pas, et je ne comprends pas pourquoi !
Quelqu'un saurait m'expliquer pourquoi, et me guider vers la bonne pratique pour ce genre d'opération (sortir d'une boucle while) ? Merci d'avance !