Python 3中的Dice Simulator项目

问题描述 投票:0回答:1

我的代码可以为我的'elif'和'else'语句退出程序,但是当我输入'yes'时,我陷入了这个输入循环,我输入的任何内容仍然掷骰子。一旦输入“是”并进入循环,如何通过输入“否”退出程序?


import random

min = 1
max = 6

prompt = "Roll dice? Type yes or no. "
roll_dice = input(prompt)

while roll_dice:

    if roll_dice == "yes":
        print ("you rolled", random.randint(min, max), random.randint(min, max))
        input(prompt)

    elif roll_dice == "no":
        print ("see you later!")
        break

    else:
        print ("invalid answer")
        break
python-3.x dice
1个回答
0
投票

而不是仅仅做

input(prompt)

对于给定的输入不执行任何操作,这意味着roll_dice始终等于"yes",您将陷入无限循环

您应该使用

roll_dice = input(prompt)

[将roll_dice设置为新值,因此让您退出

© www.soinside.com 2019 - 2024. All rights reserved.