[英]Python Problems with if statement
我對這段代碼有疑問。 不知何故,如果我們將'register'
或'Register'
作為輸入,它將轉到register函數,但在打印出else之后: Aswell ("Bad input")
; 我做了更多的這些,但是在這個中找不到錯誤。
請幫我。 謝謝! 這是我的代碼:
def Boot():
print "Type 'Login' + accountname to login."
x = raw_input("> ")
Name = x.split()
if x == "Register" or x == "register":
print "Registerbla"
if Name[0] == "Login" or Name[0] == "login":
print "Loginblabla"
else:
print "Bad input"
所以輸入后我看到的是:Registerbla輸入錯誤
您缺少if語句的else
部分。 沒有它,您實際上將檢查兩個單獨的if語句:register部分和login / bad輸入部分。 相反,您應該使用elif
:
if x == "Register" or x == "register":
print "Registerbla"
elif Name[0] == "Login" or Name[0] == "login":
print "Loginblabla"
else:
print "Bad input"
另外,請考慮更改語句以檢查是否為小寫字母,例如
if x.lower() == "register":
# Now any capitalized variant of register will work!
當您輸入register
或Register
if Name[0] == "Login" or Name[0] == "login":
評估為假,打印Bad input
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.