2016-11-21 12 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")