如何 运行 python 循环直到输入正确的输入字符串

How to run python loop until correct input string is entered

我必须编写一个代码,仅当用户输入术语“Cyril”时才会执行下面的 while 循环。

我是一个真正的新手,我只能想出下面的解决方案,它会强制用户重新启动程序,直到他们输入正确的输入,但我希望它继续询问用户输入,直到他们输入正确答案。有人可以帮忙吗?我知道一旦我意识到有一个简单的解决方案,我可能会踢自己一脚。

number_list = []
attempts = 0
name = False
number = 0

name_question = input("You are the President of RSA, what is your name?: ")
if name_question == "Cyril":
    name = True
else:
    print("\nThat is incorrect, please restart the program and try again.\n")  

if name:
    number = int(input("Correct! Please enter any number between -1 and 10: "))
    while number > -1:
        number_list.append(number)
        number = int(input("\nThank you. Please enter another number between -1 and 10: "))
    if number > 10:
        print("\nYou have entered a number outside of the range, please try again.\n")
        number = int(input("Please enter a number between -1 and 10: "))
    elif number < -1:
        print("\nYou have entered a number outside of the range, please try again. \n")
        number = int(input("Please enter a number between -1 and 10: "))
    elif number == -1:
        average_number = sum(number_list) / len(number_list)
        print("\nThe average number you have entered is:", round(average_number, 0))

即使我不明白你的问题是简单还是我是白痴,你也可以试试这个:

name_question = input("You are the President of RSA, what is your name?: ")
while name_question != "Cyril":
    name_question = input("You are the President of RSA, what is your name?: ")
...

将代码开头更改为:

while True:
    name_question = input("You are the President of RSA, what is your name?: ")
    if name_question == "Cyril":
        name = True
        break
    else:
        print("\nThat is incorrect, please try again.\n")