提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
这个小阶段是仅有python中的if判断和while循环来实现的
密码不得小于6位并且是字母数字混合
用户名不得出现"傻","蠢","笨","呆","愚"等非法字
提示:以下是本篇文章正文内容,下面案例可供参考
一、实现结果
这个能进行非法字截取,能对密码的复杂程度来进行判断和提示
二、代码实现
summer=[{"name":"zdw","psw":"zdw22222"},
{"name":"ljc","psw":"ljc22222"}]
su_name=[summer[i]["name"] for i in range(len(summer))]
wrong=["傻","蠢","笨","呆","愚"]
jiemian=["==============",
"欢迎进入图书系统",
"1.注册",
"2.登录"]
for i in jiemian:
print(i)
choose=input("请输入1 or 2 选择要进行的操作:")
if choose =="1":
jiemian=["欢迎进入图书系统",
"请进行注册"]
for i in jiemian:
print(i)
name=input("请输入注册的用户名:\n")
for i in wrong:
while True:
if i in name:
name=name.replace(i,'*')
print("该用户名{}含有非法字,请重新输入".format(name))
name=input("请输入新的用户名称")
else:
break
if name in su_name:
print("该用户名已经被注册,请重新输入用户名:")
else:
while True:
r_psw=input("请输入密码: \n")
if len(r_psw)<6:
print("密码的长度长度应为6-18位,请重新输入:")
continue
elif r_psw.isalpha() or r_psw.isdigit():
print("请不要使用纯字母或者纯数字")
continue
else:
person=dict.fromkeys(["name","psw"])
person["name"]=name
person["psw"]=r_psw
summer+=[person]
su_name=[summer[i]["name"] for i in range(len(summer))]
jiemian=["恭喜你已经注册成功",
"请开始进行登录"]
for i in jiemian:
print(i)
log=dict.fromkeys(["name","psw"])
lon_c=3
while lon_c:
log1=input("请输入用户名 \n")
if log1 not in su_name:
lon_c-=1
print("用户名不存在或者用户名输入错误请再次输入用户名,您还有{}次尝试机会".format(lon_c))
continue
else:
ps_c=3
while ps_c:
ps_c-=1
tst=su_name.index(log1)
ps=input("请输入密码 \n")
log["name"]=log1
log["psw"]=ps
if ps == summer[tst]["psw"]:
print("欢迎登录成功进入图书馆")
break
else:
print("密码不正确,你还有{}次尝试机会".format(ps_c))
continue
break
break
elif choose=="2":
jiemian = ["欢迎进入图书管",
"请开始进行登录"]
for i in jiemian:
print(i)
log = dict.fromkeys(["name", "psw"])
lon_c = 3
while lon_c:
log1 = input("请输入用户名 \n")
if log1 not in su_name:
lon_c -= 1
print("用户名不存在或者用户名输入错误请再次输入用户名,您还有{}次尝试机会".format(lon_c))
continue
else:
ps_c = 3
while ps_c:
ps_c -= 1
tst = su_name.index(log1)
ps = input("请输入密码")
log["name"] = log1
log["psw"] = ps
if ps == summer[tst]["psw"]:
print("欢迎登录成功进入图书馆")
break
else:
print("密码不正确,你还有{}次尝试机会".format(ps_c))
continue
break
else:
print("请输入数字1或着2")
总结
没有实现代码输入加密安全性不强
没有写入文件实用性不强