流程控制实练-图书馆管理系统

目录

请为《图书馆借阅管理系统》设计实现用户登录注册功能。

【功能要求】:

【特别提示】:

分析:

1.由于不使用GUI知识,我们可以采用控制台输出来模拟欢迎界面。

2.系统功能菜单的跳转

3.注册功能实现

4.登录功能实现

5. 流程图分析


请为《图书馆借阅管理系统》设计实现用户登录注册功能。

【功能要求】:

1、用户来到系统欢迎界面,开始使用本系统。

2、让用户自由选择注册 or 登录。

①如果用户尚未注册则选择"注册"功能。-->完成注册。-->登录系统。

②如果用户已注册则选择"登录"功能。-->直接登录系统。

3、注册功能细节要求

①用户名不可包含敏感词,敏感词库包括:"傻","蠢","笨",  "呆","愚"。例如"大傻子"为不合法用户名,提示用户"大*子"用户名不可注册,请重新输入。

②密码不可少于6位。

③密码不可为纯数字或纯字母,应至少为字母+数字的混合。

4、登录功能细节要求

①登陆时,如果用户名或者密码输错三次,则禁止登录本系统。

【特别提示】:

1、本案例仅可利用1~5章知识实现(可使用字符串,组合数据类型,程序的三种基本结构等,不可使用函数/文件/数据库/面向对象等)。

2、本案例无标准答案,逻辑合理,能满足题目要求即可。

分析:


1.由于不使用GUI知识,我们可以采用控制台输出来模拟欢迎界面。

例如:
```
欢迎使用图书馆借阅管理系统
请选择操作:
1. 注册
2. 登录
请输入选项(1-2):
```

2.系统功能菜单的跳转

在控制台中,我们可以通过读取用户输入来实现功能选择的跳转。例如:
```
option = input("请输入选项(1-2):")
if option == '1':
    # 执行注册流程
elif option == '2':
    # 执行登录流程
else:
    print("输入错误,请重新输入!")
```

3.注册功能实现

        1. 检查用户名是否包含敏感词:遍历敏感词库,检查用户名中是否含有敏感词。       

        2. 检查密码长度和复杂性:确保密码长度不少于6位,且包含字母和数字。

4.登录功能实现

1. 限制登录尝试次数:使用一个计数器记录用户尝试登录的次数,如果超过3次,则禁止登录。

2. 初始用户名密码数据集存储:使用列表(List)来存储用户名和密码。每个用户名和密码可以作为一个元组存储在列表中。

3. 登录尝试次数限制实现:使用一个变量来记录用户尝试登录的次数,如果达到3次,显示错误信息并终止程序或跳转到其他流程。

4. 重复或不方便的操作:
        1. 用户名和密码的验证:每次注册和登录都需要验证用户名和密码,这可能会导致代码重复。
        2. 错误处理:如果用户多次输入错误,需要有机制来处理这种情况,可能涉及到程序的多次跳转。

5. 流程图分析

代码展示:

# 用户初始数据集,用字典来存储用户账号密码
users = {'user1': 'password1'}

# 敏感词列表
sensitive_words = ["傻", "蠢", "笨", "呆", "愚"]

# 登录错误计数
count = 0

# 欢迎界面
print("欢迎来到图书馆借阅管理系统!")

# 用户选择登录或注册
choice = input("请选择:\n1. 注册\n2. 登录\n")

# 注册功能
if choice == '1':
    username = input("请输入用户名:")
    # 检查用户名是否包含敏感词
    for word in sensitive_words:
        if word in username:
            username = username.replace(word, '*')
            print(f"{username}包含敏感词,请重新输入!")
            username = input("请输入用户名:")
    password = input("请输入密码:")
    # 检查密码长度和复杂度
    while len(password) < 6 or password.isdigit() or password.isalpha():
        print("密码要求不少于6位且由数字和字母组成,请重新输入!")
        password = input("请输入密码:")
    users[username] = password
    print("注册成功!")
    print("请登录")
    # 注册完成后直接登录
    choice = '2'

# 登录功能
if choice == '2':
    while count < 3:
        username = input("请输入用户名:")
        password = input("请输入密码:")
        if username in users and users[username] == password:
            print("登录成功!欢迎进入系统。")
            break
        else:
            count += 1
            print("用户名或密码错误,请重新输入。")
    if count == 3:
        print("登录错误次数已达上限,禁止登录!")

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值