Je fais un jeu de devinois juste pour tester alors que des boucles, mais je veux une option alors qui joue peut essayer de réessayer.
J'ai essayé de le faire fonctionner à nouveau en ajoutant simplement des "vie" qui au cas où se trouve ( b) Dans le code. P>
b = 3
while b > 0:
guess = int(input("Guess: "))
if guess == 9:
print("You won!")
break
else:
b -= 1
if b == 0:
print("You lost m8")
again = input("Wanna try again? [y/n] ")
if again == "y" or "Y":
b += 3
3 Réponses :
Il suffit de régler votre boucle en conséquence:
b = 3
while b >= 0:
if b == 0:
print('You lost!')
while True:
again = input('Want to try again? [y/n] ').lower()
if again != 'y' and again != 'n':
pass
else:
break
if again == 'n':
break
else:
b += 3
else:
guess = int(input('Guess: '))
if guess == 9:
print('You win!')
break
else:
b -= 1
Guess: 7
Guess: 6
Guess: 4
You lost!
Want to try again? [y/n] 3
Want to try again? [y/n] lol
Want to try again? [y/n] y
Guess: 3
Guess: 2
Guess: 1
You lost!
Want to try again? [y/n] n
@Passarin っ ぱ さ り ー ん while True: code> moyen pour toujours b>. Sauf si vous utilisez la déclaration break code>, que pendant code> ne cesserait jamais.
@Endrook il a un break code> aussi.
@perennial_noob, je sais, je m'expliquais juste à Passarin Qu'est-ce qu'un tandis que vrai code> et comment "casser". Peut-être que mon «ça» vous confond, mais je ne parlais pas de votre pendant code>, je parlais en général, désolé.
une solution simple et simple serait Ajout d'un autre mais si vous souhaitez améliorer votre code, vous devez modifier la section d'entrée. Si vous écrivez quelque chose qui n'est pas supplémentaire tandis que code> strong>: pendant code> va résoudre votre problème. Vous pouvez manquer de vie lors d'une itération de la boucle, mais la déclaration B> 0 code> est uniquement vérifiée au début de chaque itération, donc si vous choisissez y code> ou Y code>, b code> sera augmenté par 3 et le code continuera à fonctionner, si vous ne choisissez pas y code>, b code> sera Restez à 0 et le code s'arrêtera donc. p> y code> ou y code> l'arrêt de code, même si vous avez écrit n ° code> ou :) code >. Au lieu de cela, vous devez créer un pendant que le vrai code> ou quelque chose de similaire jusqu'à ce que vous receviez un positif ( y code>, y code>, oui code>. ..) ou négatif ( n code>, n code>, non code> ...) répondez et non de trucs non-sens (comme :) code>, xd code> ...) p> p>
Oh c'est tout! Merci beaucoup, très apprécié! Maintenant, je
Si cela répond à vos questions, vous pouvez penser à accepter cette réponse. Sinon, vous êtes libre de choisir une autre réponse comme acceptée ou non de choisir d'entre elles jusqu'à ce que de trouver le bon.
Vous pouvez convertir le bloc de jeu en une fonction et appeler la fonction au besoin:
b = 3
def play():
while b > 0:
guess = int(input("Guess: "))
if guess == 9:
print("You won!")
break
else:
b -= 1
return None
play()
if b == 0:
print("You lost m8")
again = input("Wanna try again? [y/n] ")
if again == "y" or "Y":
b =3
play()
Vous avez besoin de deux telle que des boucles: une pour répéter le jeu et un pour le jeu lui-même. Regardez cette réponse pour plus de détails: Stackoverflow.com/questions/55173820/...
@Reblochonmasque non, ils ont juste besoin d'ajuster leur boucle actuelle