转到特定的raw_input()?

时间:2016-11-21 13:43:03

标签: python python-2.7

所以我试图找出如何让这个简单的小程序回到raw_input如果用户输入其他内容然后"是"或"不"。

a = raw_input("test: ")
while True:
    if a == "yes":
        print("yeyeye")
        break
    elif a == "no":
        print("nonono")
        break
    else:
        print("yes or no idiot")

这是我到目前为止所做的,我是新手,很难理解。提前谢谢。

3 个答案:

答案 0 :(得分:1)

描述条件检查器,并在每次条件不符合时读取输入。内联退货适用于低数量条件,但是当您的选择计数过多或条件情况出现时,内联退货就会变得麻烦。

这就是为什么你必须使用条件检查器(如cloop)而不是内联返回。

cloop=True
while cloop:
    a = raw_input("test: ")
    if a == "yes":
        print("yeyeye")
        cloop=False
    elif a == "no":
        print("nonono")
        cloop=False
    else:
        print("yes or no idiot")
        cloop=True

答案 1 :(得分:1)

只需将第一条指令放入循环中即可;这样,每次用户插入与不同的值时,您都可以打印消息并等待新输入。

while True:
    a = raw_input("test: ")
    if a == "yes":
        print("yeyeye")
        break
    elif a == "no":
        print("nonono")
        break
   else:
        print("yes or no idiot")

答案 2 :(得分:1)

正如@DavidG所提到的,只需在循环中添加raw_input语句:

while True:
    a = raw_input("Enter: ")
    if a == "yes":
        print("You have entered Yes")
        break
    elif a == "no":
        print("You have entered No")
        break
    else:
        print("yes or no idiot")