Python 3.x python3中的Dice模拟器项目

Python 3.x python3中的Dice模拟器项目,python-3.x,dice,Python 3.x,Dice,我的代码可以为我的'elif'和'else'语句退出程序,但是当我输入'yes'时,我被困在这个输入循环中,在这个循环中,我输入的任何东西都会掷骰子。当我已经输入“是”并进入循环后,如何通过输入“否”退出程序 而不仅仅是做: input(prompt) 它对给定的输入没有任何作用,这意味着 掷骰子将始终等于是,您将陷入无限循环 你应使用: roll_dice = input(prompt) 它将掷骰子设置为新值,从而允许您退出循环。您可以通过以下方式修改代码: while roll_dic

我的代码可以为我的'elif'和'else'语句退出程序,但是当我输入'yes'时,我被困在这个输入循环中,在这个循环中,我输入的任何东西都会掷骰子。当我已经输入“是”并进入循环后,如何通过输入“否”退出程序


而不仅仅是做:

input(prompt)
它对给定的输入没有任何作用,这意味着
掷骰子
将始终等于,您将陷入无限循环

你应使用:

roll_dice = input(prompt)

它将掷骰子设置为新值,从而允许您退出循环。

您可以通过以下方式修改代码:

while roll_dice =="yes":
      print ("you rolled", random.randint(min, max), random.randint(min, max))
      roll_dice = input(prompt)
必须包含滚动骰子,以便从输入函数获取返回值,并验证响应是否为是、否或无效

在代码中,input返回一个值,但在if语句执行一次后,永远不会检查该值

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

你需要像第一次一样更新掷骰子的值
roll\u dice=input(prompt)
roll\u dice=input(prompt)内部
如果roll\u dice==“yes”:
请不要将问题中的代码编辑为固定版本,而不是您所询问的非工作版本。问“为什么这个代码不起作用”,然后展示起作用的代码只会让每个人感到困惑。我们希望保留原始错误,以便下面的答案对其他有类似问题的人有用。非常感谢。我不敢相信这是那么简单的修复。我的while循环有问题,但我会好起来的。谢谢你!继续努力!随着时间和努力,你会越来越好的!:)非常感谢。我不敢相信这是那么简单的修复。我的while循环有问题,但我会好起来的。谢谢你@如果我的答案帮助你,请考虑把这个问题标记为帮助(向上箭头),并将其标记为正确答案。
while roll_dice =="yes":
      print ("you rolled", random.randint(min, max), random.randint(min, max))
      input(prompt)