0
votes

La fonction n'exécute pas la fonction à l'intérieur de la boucle imbriquée

Je suis nouveau à Python et j'essaie d'exécuter ce programme de boucle imbriqué simple, mais mon code ne montre aucune erreur ni exécutant la fonction

import random

player_decision = input("Do you want to roll the Dice ? Type y or n:  ").lower()

if player_decision == "y":
    game_on = True

else:

    game_on = False
    print("Thanks for your time!!")

while game_on is True:
    print("Welcome")

    roll_dice = input("Press R to roll the dice or Q to quit the game  ").upper()

    while roll_dice == "R":
        def rolling():
            outcome = random.randint(1,7)
            print(outcome)

    rolling()



3 commentaires

Indent roulant () au même niveau que defling (): , où vous l'avez maintenant à l'extérieur de la boucle. De plus, vous ferez une boucle pour toujours parce que vous ne changez jamais roll_dice , donc une fois que vous entrez dans la boucle, vous ne pouvez pas vous échapper.


Modifiez le pendant que roll_dice == "r": sur si roll_dice == "r":


Pourriez-vous décrire le flux prévu de votre jeu? Comme il est affiché, j'obtiens la forte impression qu'il y a plusieurs étapes sur le chemin qui ne font pas le comportement du programme comme vous vous attendez. 1 Fix rapide Vous pouvez ajouter immédiatement: Ne définissez pas votre fonction dans la boucle tandis que. La fonction est créée à nouveau et à nouveau de cette façon.


3 Réponses :


0
votes

juste changer pendant que roll_dice == "r" sur si roll_dice == "r" comme indiqué par Aryerez dans les commentaires xxx


0 commentaires

0
votes

Vous avez 2 boucles infinies ici pendant que game_on est true: et si roll_dice == "r": (une fois que vous les entrez). Vous devez changer de condition d'entrée en boucle dans chaque itération pour quitter la boucle. xxx


0 commentaires

0
votes

Vous définissez le roulant () dans le si roll_dice == "r": niveau suivant, mais vous appelez le roulant () dans le niveau de hauteur.

déplacez simplement le même niveau. xxx


0 commentaires