问题介绍
综合案例:会员管理系统实现-V2版(不可超前使用面向对象)
利用函数,编写会员管理系统,实现进入系统显示系统功能界面,选择添加、删除、修改,查询、显示所有会员信息以及退出系统等响应功能。
有三步骤:
第一步:显示功能界面
第二步:用户输入功能序号--(第一步第二步整体,每一次选择功能都需要展示功能界面10分)
第三步:根据用户输入的功能序号,执行不同的功能,其中包括定义函数和调用函数。--(添加(30分)、删除(10分)、修改(20分),查询(10分)、显示所有会员信息(10分)以及退出系统(10分),总90分)
按要求踩点给分
具体要求如下:
第一步、第二步:显示功能界面,用户输入功能序号选择对应的功能
第三步具体功能如下:
1:定义实现添加会员功能函数(提示会员信息使用全局变量):
(1)接受用户输入会员信息,并保存。
(2)判断是否添加会员信息:如果会员姓名已经存在,则报错提示。如果会员姓名不存在,则准备空字典,将用户追加到字典,再用列表追加字典数据。(姓名做好敏感词校验,手机号做好位数和字母的校验)
(3)输出会员的信息(重点如何抓取列表当中的字典元素?)
2:删除会员功能函数:删除会员要按用户输入的会员姓名进行删除。
(1)用户输入会员的姓名
(2)检查会员是否存在:如果存在,则删除这个会员信息;如果不存在,则提示用户不存在。
(3)提示删除成功,输出剩下会员的信息
3:修改:输入用户的姓名进行修改。
(1)用户输入会员的姓名
(2)检查会员是否存在:如果存在,则修改这个会员信息,例如手机号;如果不存在,则提示报错未找到此会员。
(3)提示修改会员的信息成功,把具体的会员信息输出
4:查询:输入用户的姓名进行查询。
(1)用户输入会员的姓名
(2)检查会员是否存在:如果存在,则提示这个会员信息;如果不存在,则提示报错查无此人。
5:显示所有会员信息:没有会员信息,提示会员列表为空;输出每次添加会员之后的信息。
6:退出系统:友好输出提示是否真的退出,选择yes or no,yes为退出系统,提示欢迎下次再来,no为继续进行功能的选择。
代码实现
members=[]
def show_menu():
print("========== 会员管理系统功能界面 ==========")
print("==========1. 添加会员==========")
print("==========2. 删除会员==========")
print("==========3. 修改会员信息==========")
print("==========4. 查询会员信息==========")
print("==========5. 显示所有会员信息==========")
print("==========6. 退出系统==========")
print("======================================")
def add_member():
print("添加会员信息")
global members
words = {
"死": "*",
"笨": "*",
"坏": "*"
}
name = input("请输入用户名:")
for char in name:
if char in words:
name = name.replace(char, words[char])
print("该用户名含有敏感词,不可注册,重新输入")
add_member()
for member in members:
if member['name'] == name:
print("该会员已存在,请勿重复添加。")
return
phone = input("请输入手机号:")
if len(phone) != 11 or not phone.isdigit():
print("手机号格式不对,请重新输入")
add_member()
members.append({"name": name, "phone": phone})
print("会员信息添加成功")
def delete_member():
print("删除会员信息")
name = input("请输入要删除的会员姓名: ")
for member in members:
if member['name'] == name:
members.remove(member)
print("会员删除成功!")
return
print("查无此人,无法删除。")
def modify_member():
print("修改会员信息")
name = input("请输入要修改的会员姓名: ")
for member in members:
if member['name'] == name:
new_phone = input("请输入新的手机号: ")
if len(new_phone) != 11 or not new_phone.isdigit():
print("手机号格式不正确,请重新输入。")
return
member['phone'] = new_phone
print("会员信息修改成功!")
return
print("未找到此会员,无法修改。")
def query_member():
print("查询会员信息")
name = input("请输入要查询的会员姓名: ")
for member in members:
if member['name'] == name:
print("会员信息如下:")
print("姓名:", member['name'])
print("手机号:", member['phone'])
return
print("查无此人。")
def show_members():
print("显示会员信息")
if not members:
print("会员列表为空。")
else:
for i, member in enumerate(members):
print(f"会员{i + 1}:")
print("姓名:", member['name'])
print("手机号:", member['phone'])
def exit_system():
choice = input("确定退出系统吗?(yes/no): ")
if choice.lower() == 'yes':
print("欢迎下次再来!")
exit()
elif choice.lower() == 'no':
return
else:
print("输入有误,请重新选择。")
def main():
while True:
show_menu()
choice = input("请输入功能序号: ")
if choice == '1':
add_member()
elif choice == '2':
delete_member()
elif choice == '3':
modify_member()
elif choice == '4':
query_member()
elif choice == '5':
show_members()
elif choice == '6':
exit_system()
else:
print("输入有误,请重新输入。")
if __name__ == "__main__":
main()
添加会员编号
members = []
def show_menu():
print("========== 会员管理系统功能界面 ==========")
print("==========1. 添加会员==========")
print("==========2. 删除会员==========")
print("==========3. 修改会员信息==========")
print("==========4. 查询会员信息==========")
print("==========5. 显示所有会员信息==========")
print("==========6. 退出系统==========")
print("======================================")
def add_member():
print("添加会员信息")
global members
words = {
"死": "*",
"笨": "*",
"坏": "*"
}
id = input("请输入会员编号: ")
name = input("请输入用户名: ")
for char in name:
if char in words:
name = name.replace(char, words[char])
print("该用户名含有敏感词,不可注册,重新输入")
add_member()
for member in members:
if member['id'] == id:
print("该会员编号已存在,请勿重复添加。")
return
phone = input("请输入手机号: ")
if len(phone) != 11 or not phone.isdigit():
print("手机号格式不对,请重新输入")
add_member()
members.append({"id": id, "name": name, "phone": phone})
print("会员信息添加成功")
def delete_member():
print("删除会员信息")
id = input("请输入要删除的会员编号: ")
for member in members:
if member['id'] == id:
members.remove(member)
print("会员删除成功!")
return
print("查无此人,无法删除。")
def modify_member():
print("修改会员信息")
id = input("请输入要修改的会员编号: ")
for member in members:
if member['id'] == id:
new_phone = input("请输入新的手机号: ")
if len(new_phone) != 11 or not new_phone.isdigit():
print("手机号格式不正确,请重新输入。")
return
member['phone'] = new_phone
print("会员信息修改成功!")
return
print("未找到此会员,无法修改。")
def query_member():
print("查询会员信息")
id = input("请输入要查询的会员编号: ")
for member in members:
if member['id'] == id:
print("会员信息如下:")
print("会员编号:", member['id'])
print("姓名:", member['name'])
print("手机号:", member['phone'])
return
print("查无此人。")
def show_members():
print("显示会员信息")
if not members:
print("会员列表为空。")
else:
for member in members:
print("会员编号:", member['id'])
print("姓名:", member['name'])
print("手机号:", member['phone'])
def exit_system():
choice = input("确定退出系统吗?(yes/no): ")
if choice.lower() == 'yes':
print("欢迎下次再来!")
exit()
elif choice.lower() == 'no':
return
else:
print("输入有误,请重新选择。")
def main():
while True:
show_menu()
choice = input("请输入功能序号: ")
if choice == '1':
add_member()
elif choice == '2':
delete_member()
elif choice == '3':
modify_member()
elif choice == '4':
query_member()
elif choice == '5':
show_members()
elif choice == '6':
exit_system()
else:
print("输入有误,请重新输入。")
if __name__ == "__main__":
main()