Problème avec if

Résolu/Fermé
Ulydan - 30 sept. 2020 à 13:31
 Ulydan - 30 sept. 2020 à 18:48
Bonjour,
J'ai un souci avec mon programme python... Je reçois un message d'erreur par rapport au ":" des if et par rapport aux if quand j'enlève les ":"... Quelqu'un saurait-il m'éclairer ?
Voici le programme en question :

print("Cette partie sera jouée en cinq points gagnants, c'est-à-dire le premier à cinq points aura gagné la partie !")
    f=0
    g=0
    while f<5 and g<5:
        d=randint(1,3)
        h=0
        while h==0:
            e=int(input("Que choisis-tu ? (réponds par papier, caillou ou ciseaux) ")
            if e=="papier":
                if d==1:
                    print("Ah, il y a égalité ! J'avais aussi choisi papier !")
                elif d==2:
                    print("Bravo, tu as gagné cette manche, j'avais choisi caillou !")
                    g+=1
                elif d==3:
                    print("Dommage, tu as perdu cette manche, j'avais choisi ciseaux !")
                    f+=1
                h=1
            elif e=="caillou":
                if d==1:
                    print("Dommage, tu as perdu cette manche, j'avais choisi papier !")
                    f+=1
                elif d==2:
                    print("Ah, il y a égalité ! J'avais aussi choisi caillou !")
                elif d==3:
                    print("Bravo, tu as gagné cette manche, j'avais choisi ciseaux !")
                    g+=1
                h=1
            elif e=="ciseaux":
                if d==1:
                    print("Bravo, tu as gagné cette manche, j'avais choisi papier !")
                    g+=1
                elif d==2:
                    print("Dommage, tu as perdu cette manche, j'avais choisi caillou !")
                    f+=1
                elif d==3:
                    print("Ah, il y a égalité ! J'avais aussi choisi ciseaux !")
                h=1
            else:
                print("Je suis désolé je n'ai pas compris ta réponse, peux-tu répéter s'il te plaît ?")
        print("J'ai",f,"point(s) et tu en as",g," !")
        if f>g:
            print("Je suis donc en train de gagner !")
        elif f=g:
            print("Il y a donc égalité !")
        else:
            print("Tu es donc en train de gagner !")
    if f==5:
        print("Dommage, j'ai gagné cette partie !")
    if g==5:
        print("Félicitations tu a gagné cette partie !")

2 réponses

jee pee Messages postés 39583 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 18 avril 2024 9 225
Modifié le 30 sept. 2020 à 13:55
Bonjour,

Il faut revoir ton indentation des lignes, les 2,3,4 et 48 ... devraient être alignées sur la 1.

En 8 sur l'input, il manque une parenthèse fermante. En 44 == pas =

En 8 il ne devrait pas y avoir INT si la réponse n'est pas un nombre mais une chaine.

1
Merci beaucoup, c'était effectivement l'input qui causait l'erreur !
0