2016-11-21 15 views
1

所以我想弄清楚如何让这个简单的小程序返回到raw_input,如果用户输入其他的东西然后“是”或“否”。转到特定的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") 

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

+4

把'raw_input' while循环中。 – DavidG

回答

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") 
1

描述一个条件检查器,用于while和每当你的条件不符合时读取输入。内联退货适合低数量的情况,但是当您的选择数量过多或状况不佳时,内联退货将变得麻烦。

这就是为什么你必须使用条件检查器(如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 
+0

您的答案已被标记为“低质量”。如果你想保留它,那么我建议你编辑它,并添加一个关于它为什么回答这个问题的解释。 –

+1

@BillBell可以吗? – obayhan

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")