Alors voilà j'essaie de faire le premier TP du cours et je dois faire un truc mal surement dans ma définition de fonction...
J'ai essayé en restreignant à fond mon code (d'où tousl es commentaires) mais je ne vois toujours pas...
*Il y a surement d'autres bourdes dans mon code que je verrais après...
Pouvez-vous m'aider svp?
print("Bienvenu au ZCasino !!!\n\n Voici avez une cagnotte de 50$ pour commencer.\nBonne chance :-)")
input("Appuyez sur la touche ENTREE pour continuer...")
def choisir_pari(montantDisponible)
# chiffreOoR = False
# montantOoR = False
# i = 0
# j = 0
# Vérification si le chiffre rentré correspond aux critères
# while chiffreOoR == True or i<5:
# while i<5:
# chiffre = int(input("Choisissez un chiffre entre 0 et 49!"))
# if chiffre<0 or chiffre>49:
# print("Attention, le chiffre rentré n'est pas compris entre 0 et 49")
# chiffreOoR = True
# i += 1
# else:
# chiffreOoR = False
# Vérification si le montant rentré est disponible
# while montantOoR == True or j<5:
montant = int(input("Choisissez une mise entre 0 et "+str(montantDisponible)))
# if montant>montantDisponible:
# print("Attention, le mise rentrée n'est pas disponible\nVotre cagnotte s'élève à ", montantDisponible)
# montantOoR = True
# j += 1
# else:
# montantOoR = False
# return(chiffre,montant)
test1,test2=choisir_pari(50)
print(test1)
print(test2)
input("Appuyez sur la touche ENTREE pour continuer...")
Maintenant j'ai l'impression de ne jamais sortir de ma boucle while...
Et lorsque cela sort, cela ne va pas à la ligne (17) mais sort directement
def choisir_pari(montantDisponible):
chiffreOoR = False
montantOoR = False
i = 0
j = 0
# Vérification si le chiffre rentré correspond aux critères
while chiffreOoR == True or i<3:
chiffre = int(input("Choisissez un chiffre entre 0 et 49 : "))
if chiffre<0 or chiffre>49:
print("Attention, le chiffre rentré n'est pas compris entre 0 et 49!\nIl vous reste ",5-i," tentatives.")
chiffreOoR = True
i += 1
else:
chiffreOoR = False
# Vérification si le montant rentré est disponible
# while montantOoR == True or j<5:
montant = int(input("Choisissez une mise entre 0 et "+str(montantDisponible)+": "))
# if montant>montantDisponible:
# print("Attention, le mise rentrée n'est pas disponible\nVotre cagnotte s'élève à ", montantDisponible)
# montantOoR = True
# j += 1
# else:
# montantOoR = False
return(chiffre,montant)
Quelle est ma nouvelle bourde?
Edit: en fait ça ne sort même plus de la boucle, même lorsque i>3...
C'est ta condition est est fausse, il faut mettre un and pas un or (et initialiser chiffreOor à True).
Sinon quand on fait un while avec un incrément, en général c'est qu'il faut un for :
for i in range(3):
chiffre = int(input("Choisissez un chiffre entre 0 et 49 : "))
if 0 <= chiffre <= 49:
break
print(
"Attention, le chiffre rentré n'est pas compris entre 0 et 49!\nIl vous reste",
2 - i,
"tentatives.",
)
J'ai gardé la même logique que j'avais mais en ajoutant un "else: break" pour sortir de la boucle ;-)
Problème avec définition de fonction
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Découverte Python Doc Tkinter Les chaînes de caractères