0

このコードに問題があります。'register'orを入力として入力すると、レジスタ関数に'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 Bad input

4

2 に答える 2

2

elseif ステートメントの一部が欠落しています。それがなければ、実際には 2 つの別々の if ステートメントをチェックします: register セクションと login/bad input セクションです。代わりに、次を使用する必要があります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!
于 2013-02-20T13:59:31.443 に答える
1

registerまたは_Register

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

false と評価され、印刷されますBad input

于 2013-02-20T13:59:01.947 に答える