python-用只用if判断和循环写出的登录注册系统

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

这个小阶段是仅有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")

总结

没有实现代码输入加密安全性不强

没有写入文件实用性不强


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值