Python中if语句的问题
我在这段代码上遇到了问题。
不管我们输入 '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
Bad input
2 个回答
1
当你输入 register
或者 Register
时,
这段代码 if Name[0] == "Login" or Name[0] == "login":
会被判断为假,也就是不成立,
所以它会输出 Bad input
,意思是输入不正确。
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!