如何使用 break in python 结束 while 循环?

How to end a while loop using break in python?

我在这里写了一个循环,询问用户是否要重复一段指令。 如果他没有循环结束,想给用户三次尝试选择他想要的(是/否)。 这是我的代码:

# Ask for repeating
i = 0
def question():
    global i
    while True:
        print("Give another try?")
        answer = input("(Y/N): ")
        answer = answer.upper()
        if answer == 'Y':
            main()
        elif answer == 'N':
            print("Thank you for participating")
            break # here it works when 'n' is typed
        else: # i count how much the while loop id repeated
            if (i < 2):
                i += 1
                question()
            else: # else is executed when i == 2
                print("don't Play with us!!")
                break # here it doesn't work.

我需要帮助。

x = True
i = 0
def question():
    # Ask for repeating
    global i
    global x
    while x is True:
        print("Give another try?")
        answer ='a'
        answer = answer.upper()
        if answer == 'Y':
            pass
        elif answer == 'N':
            print("Thank you for participating")
            break  # here it works when 'n' is typed
        else:  # i count how much the while loop id repeated
            if (i < 2):
                i += 1
                question()
            else:  # else is executed when i == 2
                print("don't Play with us!!")
                x = False  # here it doesn't work.

在最后一个 else 块之外再添加一个中断。你的代码应该是

i = 0
def question():
    global i
    while True:
        print("Give another try?")
        answer = input("(Y/N): ")
        answer = answer.upper()
        if answer == 'Y':
            main()
        elif answer == 'N':
            print("Thank you for participating")
            break # here it works when 'n' is typed
        else: # i count how much the while loop id repeated
            if (i < 2):
                i += 1
                question()
            else: # else is executed when i == 2
                print("don't Play with us!!")
                break # here it doesn't work.
            break