如何循环直到某些输入

时间:2015-07-26 00:13:57

标签: python

我试图让这个循环回到输入用户输入的问题,直到他们决定退出程序(选择选择7),我无法搞清楚。

selection = input("Select 1 2 3 OR 7 ")
while selection != "7":
    if selection == "1":
        print("1 is selected")
        l = int(input("INPUT ? "))
        print("answer IS: ", l ** 2)
        break
    elif selection == "2":
        print("2 is selected")
        l = int(input("INPUT ? "))
        w = int(input("INPUT ? "))
        print("answer is: ", l * w)
        break
    elif selection == "3":
        print("3 is selected")
        r = int(input("INPUT ? "))
        print("answer IS: ", (r ** 2) * 3.14)
        break
    elif selection == "7":
        print("BYE")

代码有效,但我需要得到它,以便在它为您提供答案后,它会再次询问您输入,直到您选择7退出。我似乎无法让它的那部分工作。

4 个答案:

答案 0 :(得分:4)

将第一行放在循环中:

selection = None
while selection != 7:
    selection = input("Select 1 2 3 OR 7 ")
    # ...

希望它有所帮助。

答案 1 :(得分:0)

说elif选择==“7”最后与你自己相矛盾。

如果它不是1或3,只要说出其他:quit()或者python中的任何内容,因为除了1 2或3以外的任何内容都是相关的

答案 2 :(得分:0)

如果您想要不断询问用户的输入,您的选择变量应该在while循环内。

    selection = 100
    while selection != "7":
        selection = input("Select 1,2,3 or 7: ")

答案 3 :(得分:0)

您可以将选择的输入放在循环内:

selection = None
while selection != 7:
    selection = input("Select 1 2 3 OR 7 ")
    ...
  

我试图让这个循环回到输入用户输入的问题,直到他们决定退出

您也不希望在while循环中有任何中断。目前,您的代码在输入一个输入后退出(因为选择1,2和3都有中断)。

elif selection == "7":
    print("BYE")

您可以使用print语句并将其放在while循环之后。当while循环已经完成时,检查选择是否等于7是多余的。