|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- count = 0
- while count <=3:
- user=["root",'westos']
- passwd=['123','456']
- name = input("请输入您的用户名:")
- if name in user:
- passwd_=input("请输入您的密码:")
- if user.index(name)== passwd.index(passwd_):
- print("登入成功!")
- break
- else:
- print("您的密码有误,请重新登入")
- count+=1
- else:
- print("您的用户不存在,请重新登入")
- count +=1
-
-
复制代码
求教为什么当输入的密码不在passwd里,就会报错,而不是进入else这个步骤呢
本帖最后由 jackz007 于 2021-9-27 16:34 编辑
if user . index(name) == passwd . index(passwd_): # 如果 passwd_ 在 passwd 中,则 passwd . index(passwd_) 正常得到其索引值,否则,如果 passwd_ 不在 passwd 中,这个方法就会报错,代码执行也会中断。所以,这是一条风险语句。
所以,相关代码应该这样写
- #coding:gbk
- count = 0
- user = ["root",'westos']
- passwd = ['123','456']
- while count <= 3:
- name = input("请输入您的用户名:")
- if name in user:
- passwd_ = input("请输入您的密码:")
- try:
- if user . index(name) == passwd . index(passwd_):
- print("登入成功!")
- break
- except:
- pass
- print("您的密码有误,请重新登入")
- else:
- print("您的用户不存在,请重新登入")
- count += 1
复制代码
|
|