簡體   English   中英

Python語句問題

[英]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!

當您輸入registerRegister

if Name[0] == "Login" or Name[0] == "login":

評估為假,打印Bad input

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM