会员管理系统---Python基础项目(1)
1. 需求
""" 根据下面的需求描述,完成简单的用户管理系统,注意封装函数 1. 后台管理员只有一个用户: admin, 密码: admin 2. 当管理员登陆账号成功后, 可以管理前台会员信息. 3. 会员信息管理包含方法:a.添加会员信息b.删除会员信息c.查看单个会员信息d.查看所有会员信息 4. 对会员按照年龄降序排序 5. 退出 """
2. 思路
1. 框架
1.函数定义
def get_mid(): # 获取会员编号
pass # pass:此处用于后期添加、完善代码(使用pass不会报错)
def add_user(): # 增加会员信息
pass
def remove_user(): # 删除会员信息
pass
def show_single(): # 查看单个会员信息
pass
def show_all(): # 查看全部会员信息
pass
def sort_users(): # 对会员按年龄排序
pass
2.调用函数
for _ in range(3):
user_name = input("请输入用户名:")
user_password = input("请输入密码:")
if user_name == "admin" and user_password == "admin":pass
else:
print(f"账号:{user_name}或者密码:{user_password}输入错误")
else:
print("输入错误三次,请重新输入...")
2. 功能
1. 增添功能
def get_mid(): # 获取用户编号while True:mid = str(random.randint(10000, 99999))if mid not in [info_dict["编号"] for info_dict in user_database]:return middef add_user():mid = get_mid()user_name = input("请输入用户名:")user_sex = input("请输入性别:")user_age = input("请输入年龄:")user_database.append(dict(zip(["编号","姓名","性别","年龄"],[mid,user_name,user_sex,user_age])))print(f"会员录入成功,会员编号是{mid}")
注释:
1. 增添会员信息前,先获取会员编号;
2. random.randint(),需先导入random包,此函数取值范围为闭区间
3. get_mid(),返回值前作了一次判断(列表推导式),判断编号是否已经在用户数据库中
列表推导式可参考:https://blog.csdn.net/m0_57975635/article/details/127834191?spm=1001.2014.3001.5502
4. 添加方式外层为列表常用append方法,内层为字典dict(zip())定义方法
知识点可参考以下:
https://blog.csdn.net/m0_57975635/article/details/127834191?spm=1001.2014.3001.5502
https://blog.csdn.net/m0_57975635/article/details/127931233?spm=1001.2014.3001.5501
2. 删除功能
def remove_user():mid = input("请输入需要删除的会员的编号:")for info_dict in user_database:if mid == info_dict["编号"]:user_database.remove(info_dict)print(f"编号为{mid}删除成功")breakelse:print("删除失败,输入错误会员编号")
遍历会员信息库,查询需要删除的会员的编码,查询成功调用remove函数删除
3. 展示会员信息
def show_single():mid = input("请输入需要查询的会员编号:")for info_dict in user_database:if mid == info_dict["编号"]:print(f"该会员信息为:{info_dict}")breakelse:print("查询失败,输入错误会员编号")def show_all():for info_dict in user_database:print(f"会员信息为:{info_dict}")
4. 会员排序
def sort_users():user_database.sort(reverse=True,key=lambda info_dict:info_dict["年龄"])print(user_database)
1. 用户数据库调用sort函数
2. sort函数中的key关键字中使用匿名函数
3. 实践
1. 代码
# 1.封装函数
import randomuser_database = []
def get_mid(): # 获取用户编号while True:mid = str(random.randint(10000, 99999))if mid not in [info_dict["编号"] for info_dict in user_database]:return middef add_user():mid = get_mid()user_name = input("请输入用户名:")user_sex = input("请输入性别:")user_age = input("请输入年龄:")user_database.append(dict(zip(["编号","姓名","性别","年龄"],[mid,user_name,user_sex,user_age])))print(f"会员录入成功,会员编号是{mid}")def remove_user():mid = input("请输入需要删除的会员的编号:")for info_dict in user_database:if mid == info_dict["编号"]:user_database.remove(info_dict)print(f"编号为{mid}删除成功")breakelse:print("删除失败,输入错误会员编号")def show_single():mid = input("请输入需要查询的会员编号:")for info_dict in user_database:if mid == info_dict["编号"]:print(f"该会员信息为:{info_dict}")breakelse:print("查询失败,输入错误会员编号")def show_all():for info_dict in user_database:print(f"会员信息为:{info_dict}")def sort_users():user_database.sort(reverse=True,key=lambda info_dict:info_dict["年龄"])print(user_database)# 2.调用函数
for _ in range(3):print("会员管理系统".center(50,"="))user_name = input("请输入用户名:")user_password = input("请输入密码:")if user_name == "admin" and user_password == "admin":print("登录成功,您好")print("""您可以选择的功能1.添加会员信息2.删除会员信息3.查看单个会员信息4.查看全部会员信息5.对会员按照年龄降序排序6.退出""")while True:select = input("请选择功能")if select == "1":add_user()elif select == "2":remove_user()elif select == "3":show_single()elif select == "4":show_all()elif select == "5":sort_users()elif select =="6":print("欢迎再次使用")breakelse:print("占无此功能...")breakelse:print(f"账号:{user_name}或者密码:{user_password}输入错误")
else:print("输入错误三次,请重新输入...")
2.测试结果(大部分)

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
