2017-01-22 65 views
1

我想創建一個程序;然而,即使輸入'y'或'yes',代碼仍會進入'n'/'no'循環。有什麼建議麼?'elif'''while''loop

no = input("How many messages?") 
intNo = int(no) 
msgno = input("2 different msgs? [y/n]:") 
message = input("Message:") 
message2 = input("Message 2:") 

run = True 
pyautogui.click(x=980, y=805, button='left') 
while run == True: 
    if msgno.lower() == "n" or "no": 
     pyautogui.typewrite(message, interval=0.00001) 
     pyautogui.press('enter') 
     intNo = intNo - 1 
     if intNo <= 0: 
      run = False 
    elif msgno.lower() == "y" or "yes": 
     no = no/2 
     pyautogui.typewrite(message, interval=0.00001) 
     pyautogui.press('enter') 
     pyautogui.typewrite(message2, interval=0.00001) 
     pyautogui.press('enter') 
     intNo = intNo - 1 
     if intNo <= 0: 
      run = False 
+0

'「y」或「是」==「y」',總是。在[「y」,「yes」]中嘗試'msgno.lower()。 – Maroun

+0

'if msgno.lower()==「n」或msgno.lower()==「no」'或'如果msgno.lower()不在['n','no']'你不能通過兩個條件一起 – Arman

回答

2

您必須爲每個If語句添加兩個條件語句。像這樣:if msgo.lower() == 'yes' or msgo.lower() == 'y'如果你只有一個存在的變量或一個值,它將默認爲True,所以默認爲「no」默認爲True並進入代碼塊。