Python 而True循环停止ruuning
我想验证一个简单的问题,用户是否想玩游戏-是或否Python 而True循环停止ruuning,python,while-loop,Python,While Loop,我想验证一个简单的问题,用户是否想玩游戏-是或否 while True: start = '' start = input("Do you want to play Python Black Jack? Enter Yes or No: ") if start.lower().startswith('y'): print("let the game begin") break elif start.lower().startsw
while True:
start = ''
start = input("Do you want to play Python Black Jack? Enter Yes or No: ")
if start.lower().startswith('y'):
print("let the game begin")
break
elif start.lower().startswith('n'):
print ("Goobye")
break
else:
print ("Looks like you did not enter a valid answer!")
continue
代码确实正确运行了好几次,但随后它突然停止运行-我认为发生的是,当我中断while循环时,True语句不再适用,因此当我重新运行程序时,它不会再次进入while循环
请您告诉我我做错了什么,发生了什么,或者避免这种归档循环的最佳做法是什么。中断语句将中断循环。如果执行break的任何条件在某一点上为真,则循环将停止。您需要两个循环-一个用于保持游戏运行,一个用于获得是/否答案。。也许可以这样构造代码:
def shouldStartGame():
while True:
start = input("Do you want to play Python Black Jack? Enter Yes or No: ")
if start.lower().startswith('y'):
print("let the game begin")
return True
if start.lower().startswith('n'):
print ("Goodbye")
return False
print ("Looks like you did not enter a valid answer!")
while True:
if not shouldStartGame():
break
print("Here the rest of the game goes")
请复制您的实际缩进。您发布的内容将不会运行。
break
特别表示“停止循环”。你可能想要另一个循环,这只是它的开始部分。当你打破循环时,你不再在循环中,所以我不确定你在期待什么。请给更多的许可和缩进您的代码。谢谢代码实际上是正确缩进的——当我复制粘贴它时,缩进被删除了。问题是:如果代码确实正确运行了好几次,那么它就会突然停止工作。我必须重新启动内核&然后它开始再次提示信息&重新运行代码,但随后它就停止了。@JuanRodriguez什么内核?你是说你需要重新启动你的操作系统吗?我认为break
停止循环是你想要的行为(毕竟,在输入了有效的答案之后,继续询问答案是没有意义的)。我认为OP所说的是,在他打破循环之后,循环就不能再进入了。当然,代码中没有任何内容会再次尝试进入循环(即没有外部循环或类似的内容),因此这里显然缺少信息。真的,这只是一个问得不好的问题。@sepp2k你很理解他的问题。事实上,他只是需要另一个循环。