python 登录系统

题目介绍

1. (程序操作题)

综合应用案例:会员登录模块功能模拟

通过对字典和列表的应用,流程控制语句进行实现会员登录模块功能模拟。(不可超前使用函数)

具体要求如下:

1:用户进入欢迎界面,欢迎登录******会员登录系统*****

2:让用户选择注册或者登录(也可以有直接退出系统的选择exit);如果选择注册,注册用户名和密码(其中用户名不能含有敏感词,自己设定敏感词(例如:死,笨,坏等)敏感词提示的时候需要用*代替;密码长度不能少于6位,而且必须由数字和字母和特殊字符组成,不满足这些要求的,做好系统上的print提示,进入重新设置密码环节);注册好的用户名和密码需要存储到数据类型当中。

如果选择登录,可以登录刚刚注册好的,也可以登录验证已经存储好的用户名和密码,用户名、密码任何一个输错三次,自动退出会员登录系统。

代码实现

data =[]
def zhuce():
    global data
    words={
        "死":"*",
        "笨":"*",
        "坏":"*"
    }
    name =input("请输入用户名:")
    for char in name:
        if char in words:
            name = name.replace(char,words[char])
            print("该用户名含有敏感词,不可注册,重新输入")
            zhuce()
    num = input("请输入密码:")
    if len(num)<6 or num.isdigit() or num.isalpha() :
        print("注册密码小于六位数或为纯数字或纯字母,请重新输入")
        zhuce()
    data.append({"name":name,"num":num})
    main()
def denglu(s):
    global data
    name=input("请输入用户名")
    num=input("请输入密码")
    for user in data:
        if user["name"]==name and user["num"]==num:
            print("**********")
            print("恭喜你!登录成功!")
            print("**********")
            return
    s -= 1
    if s > 0:
        print("你还有%d次机会"%s)
        denglu(s)
    else:
        print("登录失败,没有尝试次数了")


def main():
    print("******会员登录系统******")
    print("******1:登录系统******")
    print("******2:注册账号******")
    print("******3:退出系统******")
    a=int(input("请选择功能"))
    if a==1:
        s=3
        denglu(s)
    elif a==2:
        zhuce()
    elif a==3:
        exit(0)

main()

代码解释

  1. 注册账号 (zhuce 函数):

    • words 字典中包含了一些敏感词和它们的替换字符,当用户输入的用户名中包含这些敏感词时,会用替换字符替换。
    • 用户输入用户名,然后通过一个循环遍历用户名的每个字符,如果字符是敏感词中的一个,就将它替换成相应的替换字符,然后输出提示信息重新输入用户名。
    • 用户输入密码,然后通过一系列条件判断来验证密码的合法性,例如密码长度大于等于6位,且不是纯数字或纯字母,否则会提示用户重新输入密码。
    • 如果用户名和密码都符合要求,则将用户名和密码以字典形式添加到 data 列表中。
    • `password_input.isdigit()` 和 `password_input.isalpha()` 是 Python 字符串对象的方法,用于检查字符串是否只包含数字或只包含字母。

      - `password_input.isdigit()`: 如果 `password_input` 中的所有字符都是数字,则返回 `True`,否则返回 `False`。
      - `password_input.isalpha()`: 如果 `password_input` 中的所有字符都是字母,则返回 `True`,否则返回 `False`。

      在注册功能中,这两个条件用于判断密码是否过于简单,即密码是否只包含数字或只包含字母,如果是的话,就认为这个密码太弱,需要重新输入更强的密码。

  2. 登录系统 (denglu 函数):

    • 用户输入用户名和密码。
    • 通过循环遍历 data 列表中的每个用户信息,如果找到用户名和密码匹配的用户,则输出登录成功的提示信息。
    • 如果未找到匹配的用户,则输出剩余登录次数,并通过递归调用 denglu 函数继续尝试登录,直到剩余登录次数为0。
  3. 主函数 (main 函数):

    • 输出功能菜单,用户可以选择登录系统、注册账号或退出系统。
    • 根据用户选择执行相应的功能:登录系统调用 denglu 函数,注册账号调用 zhuce 函数,退出系统则退出程序。
  • 30
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值