[Résolu] soucis de résultats programme PiRoulette

Python est le langage de prédilection du Raspberry Pi

Modérateurs : Francois, Manfraid

Répondre
Tuxdata
Messages : 7
Enregistré le : dim. 5 avr. 2020 21:41

[Résolu] soucis de résultats programme PiRoulette

Message par Tuxdata » dim. 5 avr. 2020 21:54

Bonjour,
Pour m'initier à python j'ai choisi le RPI
je dois écrire un code python sans faire appel à random().
On doit entre le chiffre joué et ensuite entrer le chiffre de la roulette
J'ai écrit le programme, il fonctionne mais en input 13 et 8 ; 14 et 1 et 15 et 1 la réponse doit être 20 et j'obtiens 20 et 0
Pouvez vous m'aider?

Code : Tout sélectionner

# entrer le chiffre a jouer
#entrer le chiffre de la roullette
a = int(input())
b = int(input())
res = int(120)
# tirage pair
pair= int(20)
if  a==13 and ( b == 0 or b== 2 or b == 4 or b == 6 or b == 8 or b == 10 or b == 12) :
    print(pair)

#tirage impair
impair= int(20)
if a==14 and ( b == 1 or b == 3 or b == 5 or b == 7 or b == 9 or b == 11) :
    print(impair)

#tirage rouge
rouge = int(20)
if a ==15 and (b == 1 or b == 3 or b == 5 or b == 7 or  b == 9 or b == 12) :
    print(rouge)

#tirage noir
noir = int(20)
if a == 16 and (b == 2 or b == 4 or b == 6 or b == 8 or b == 10 or b == 11) :
    print(noir)

# de 0 à 12 identique = 120 (OK)
egal = int(120)
if a == b :
    print(egal)

else:
    print(0)
Modifié en dernier par Tuxdata le lun. 6 avr. 2020 10:01, modifié 1 fois.

Bud Spencer
Raspinaute
Messages : 1089
Enregistré le : lun. 15 août 2016 21:38

Re: soucis de résultats programme PiRoulette

Message par Bud Spencer » lun. 6 avr. 2020 09:10

C'est le else de ton bloc 'egal' qui affiche 0 systématiquement si a est diffèrent de b.
Je ne connais pas les règles, mais d'après ce que je comprend, tu veux arriver a ca :

Code : Tout sélectionner

# entrer le chiffre a jouer
#entrer le chiffre de la roullette
a = int(input())
b = int(input())
res = int(0)

# tirage pair
if  a==13 and ( b == 0 or b== 2 or b == 4 or b == 6 or b == 8 or b == 10 or b == 12) :
    res = 20

#tirage impair
if a==14 and ( b == 1 or b == 3 or b == 5 or b == 7 or b == 9 or b == 11) :
    res = 20

#tirage rouge
if a ==15 and (b == 1 or b == 3 or b == 5 or b == 7 or  b == 9 or b == 12) :
    res = 20

#tirage noir
if a == 16 and (b == 2 or b == 4 or b == 6 or b == 8 or b == 10 or b == 11) :
    res = 20

# de 0 à 12 identique = 120 (OK)
if a == b :
    res = 120

# affiche le résultat
print(res)


Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).

Tuxdata
Messages : 7
Enregistré le : dim. 5 avr. 2020 21:41

Re: soucis de résultats programme PiRoulette

Message par Tuxdata » lun. 6 avr. 2020 10:01

Merc Bud
Oui c'est bien le else qui bloquait mais je ne voyais pas où le mettre.
Evidement comme je ne voyais pas, il suffisait de ne pas le mettre :D
Encore merci.

Bud Spencer
Raspinaute
Messages : 1089
Enregistré le : lun. 15 août 2016 21:38

Re: [Résolu] soucis de résultats programme PiRoulette

Message par Bud Spencer » lun. 6 avr. 2020 12:47

Tout simplement ;) . Il suffit juste d'initialiser la valeur de res à chaque condition remplies et de n'afficher le résultat qu'a la fin. Si aucune condition n'est vraie, alors le résultat sera 0 et il sera affiché quand meme .
Le premier ennemi de la connaissance n’est pas l’ignorance, c’est l’illusion de la connaissance (S. Hawking).

Répondre

Retourner vers « Python »