首页 > 代码库 > 学习Python 登入接口重写版
学习Python 登入接口重写版
要求
1.输入用户名与密码
2.验证成功显示欢迎页
3.输入错误3次,锁定用户名
也是看了非常多的大神,老师,师兄的代码启发,才写出如下的重写版
这条代码也是瞎几把搞才研究出来的,具体原理不是很懂
name = dict(k.strip().split(‘=‘) for k in name_list.readlines())
如果把 strip() 和 split(‘=‘) 的位置互换一下 那么就会报错 原因估计是 strip() 只能对 str类型操作
已知BUG:
1.输入2次同一个正确的用户名和错误的密码,第3次输入另一个正确的用户名和错误的密码,则锁定第3次输入的用户名
用户名与密码文件 name_list.ini 内容如下:
mask=123
jake=123qq
qb11=123qwe
锁定用户列表文件 lock_list.ini 内容默认为空:
i = 0g = 3w = 0j = 0print(‘‘‘************************************* 欢迎使用登入系统*************************************‘‘‘)while i < 4: i = i + 1 i_name = input(‘请输入您的用户名:‘) #输入用户名 name_list = open(‘name_list.ini‘,‘r‘) #读取用户名和密码字典 name = dict(k.strip().split(‘=‘) for k in name_list.readlines()) name_list.close() lock_list = open(‘lock_list.ini‘,‘r‘)# 读取被锁定用户名 lock = [k.strip() for k in lock_list.readlines()] lock_list.close() lk = i_name in lock #输入的用户名 对比 锁定列表 f = i_name in name #输入的用户名 对比 注册已用户名 if len(i_name) == 0 or j == 3: #检查输入的用户名是否为空 print(‘您输入的用户名为空‘) j = j + 1 if j == 3: print(‘您已经连续输入3次空用户名了,系统强制退出‘) i = 4 elif lk == True: print(‘您的用户名已被锁定,请联系管理员‘) i = i + 4 elif f == False: w = w + 1 print(‘您输入的用户名无效,请重新输入‘) if w == 3: print(‘您已经输入了3次数无效用户名了,系统强制退出,‘) i = 4 elif f == True: #如果用户名正确 则取其密码,让用户输入密码 mima = name[i_name] i_mima = input(‘请输入您的密码:‘) if i_mima == mima: print(‘欢迎光临,%s‘%i_name) #密码正确 显示欢迎页 i = 4 else: g = g - 1 print(‘用户名或密码错误\n(您还有%s次机会)‘%g) if g == 0: print(‘您已经输入了3次错误的密码,已被系统锁定‘) a = open(‘lock_list.ini‘,‘a‘)#密码错误3次,写入用户名到锁定列表 a.write(str(i_name + ‘\n‘)) a.close() i = 4
可否再精简代码?
可否加强功能?
学习Python 登入接口重写版
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。