Elif and if not working or me not understanding
本问题已经有最佳答案,请猛点这里访问。
好吧,我的代码正在工作,但是如果我想重试输入密码,键入no,它就不工作了;它只会转到输入密码行(第20行)。我尝试过多种方法来解决这个问题,但我根本做不到。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | import time import os print ("Hello world.") time.sleep(1) print ("Waiting 5 seconds.") time.sleep(5) print ("You have waited 10 seconds.") print ("Executing Chrome.") time.sleep(1) print ("Execution failed!") password = input("Enter the execution password:") if password == 'password1234': os.system ('C:\\Users\\Harry\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe') else: print ("Wrong password!") time.sleep(1) passretry = input("Do you want to try again?") if passretry == 'yes' or 'Yes': passretry1 = input("Enter password:") if passretry1 == 'password1234': os.system ('C:\\Users\\Harry\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe') elif passretry == 'no' or 'No': print ("Closing...") time.sleep(1) else: print ("Wrong password.") time.sleep(.5) print ("Retry limit exceeded, closing.") time.sleep(1) |
1 | if passretry == 'yes' or 'Yes': |
上述if语句的计算结果如下:
1 | if (passretry == 'yes') or 'Yes': |
现在,由于
您需要将条件更改为:
1 | if passretry in ('yes', 'Yes'): |
同样,应将以下
1 | elif passretry in ('no', 'No'): |
这种情况:
1 | if passretry == 'yes' or 'Yes': |
表示"如果
你需要把事情讲清楚一点:
1 | if passretry == 'yes' or passretry == 'Yes': |
(或者让代码更通用一点:
1 | if passretry.lower() == 'yes': |
这样就可以让人们大喊大叫了。
你需要另一个完整的声明:
1 | passretry == 'yes' or passretry == 'Yes': |
字符串"yes"的计算结果始终为true。