这个if判断语句是不是写错了?为啥一直只执行if下面的,elif不判断啊
def login(name,password):name = input('请输入用户名:')
if name not in dict1:
name = input('您输入的用户名不存在,请重新输入:')
password = input('请输入密码:')
print('欢迎进入小花仙系统,请点击右上角的X结束程序!')
elif name in dict1:
password = input('请输入密码:')
print('欢迎进入小花仙系统,请点击右上角的X结束程序!')
if语句块中没有更新dict1,加一句
dict1=password 你的def里面有name和pass的值,如果有的话函数里是可以调用的,但你这里面有name和password的赋值,是用不到的所以,你如果写函数的话我觉得def login():就可以了。
dict1 = ['test','123']
#因为你这里面没有dict的内容,我临时加了一个做比较用
while True:
#这帮你加了个循环,如果用户名不对会回来重新输入
name = input('请输入用户名:')
if name not in dict1:
print('您输入的用户名不存在,请重新输入:')
continue
#输入的用户名不存在会返回循环
#password = input('请输入密码:')--------------------------------------------------------这个可以不用,因为IF判断了如果包含了用户名了就会在else里输入密码了
#print('欢迎进入小花仙系统,请点击右上角的X结束程序!') -------------------------同上
else:
#因为只有两个判断,所以else就可以了,elif也可以不过那样还要写一个条件,比较麻烦
password = input('请输入密码:')
#你这里只有一个password的输入,没有判断是不是与原密码相同,所以输入什么都可以过,如果要比对密码的话应该再加个IF判断一下密码是不是一致
print('欢迎进入小花仙系统,请点击右上角的X结束程序!')
break
#退出循环
仅供参考。。。 if():
代码1
elif ():
代码2
其实是:
if():
代码1
else:
if():
代码2
执行了if就不会再执行else def login(name,password):
name = input('请输入用户名:')
if not name in dict1:
name = input('您输入的用户名不存在,请重新输入:')
password = input('请输入密码:')
print('欢迎进入小花仙系统,请点击右上角的X结束程序!')
else:
password = input('请输入密码:')
print('欢迎进入小花仙系统,请点击右上角的X结束程序!')
页:
[1]