我对这段代码有疑问。
不知怎的,如果我们输入'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 输入错误
答案 0 :(得分:2)
您错过了if语句的else
部分。没有它,你实际上检查两个单独的if语句:寄存器部分和登录/坏输入部分。相反,您应该使用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!
答案 1 :(得分:1)
当您输入register
或Register
if Name[0] == "Login" or Name[0] == "login":
评估为false,打印Bad input