True Loop停止运行

时间:2017-12-12 10:00:19

标签: 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().startswith('n'):
        print ("Goobye")
        break

    else:
        print ("Looks like you did not enter a valid answer!")
        continue

代码确实运行了几次但是然后它突然停止运行 - 我认为发生的是当我打破while循环时,True语句不再适用,因此当我重新运行程序时它不会进入再次循环。

请您帮忙告诉我我做错了什么或发生了什么,或者避免这种归档循环的最佳做法是什么。

2 个答案:

答案 0 :(得分:0)

中断语句将突破循环。如果在某些时候执行 break 的任何条件为True,那么你的循环将停止。

答案 1 :(得分:0)

你需要两个循环 - 一个用于保持游戏运行,一个用于得到是/否答案..也许像这样构建你的代码:

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")
相关问题