python 会员管理系统

问题介绍

综合案例:会员管理系统实现-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 memberswords = {"死": "*","笨": "*","坏": "*"}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("该会员已存在,请勿重复添加。")returnphone = 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("会员删除成功!")returnprint("查无此人,无法删除。")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("手机号格式不正确,请重新输入。")returnmember['phone'] = new_phoneprint("会员信息修改成功!")returnprint("未找到此会员,无法修改。")def query_member():print("查询会员信息")name = input("请输入要查询的会员姓名: ")for member in members:if member['name'] == name:print("会员信息如下:")print("姓名:", member['name'])print("手机号:", member['phone'])returnprint("查无此人。")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':returnelse: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 memberswords = {"死": "*","笨": "*","坏": "*"}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("该会员编号已存在,请勿重复添加。")returnphone = 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("会员删除成功!")returnprint("查无此人,无法删除。")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("手机号格式不正确,请重新输入。")returnmember['phone'] = new_phoneprint("会员信息修改成功!")returnprint("未找到此会员,无法修改。")def query_member():print("查询会员信息")id = input("请输入要查询的会员编号: ")for member in members:if member['id'] == id:print("会员信息如下:")print("会员编号:", member['id'])print("姓名:", member['name'])print("手机号:", member['phone'])returnprint("查无此人。")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':returnelse: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()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/802276.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Spring Security】2.实现最简单的身份验证

文章目录 一、找到官网的身份认证(authentication)示例代码二、实现最简单的身份验证1、创建Spring Boot项目2、创建IndexController3、创建index.html4、启动项目测试Controller 三、{/logout}的作用四、页面样式无法加载的问题 一、找到官网的身份认证…

二建考试搜题软件哪个好?分享8个可以搜答案的软件 #知识分享#笔记#学习方法

积极参加社团活动和实践项目,可以帮助大学生拓宽人脉圈和锻炼实际操作能力。 1.白鸽搜题 这是个微信公众号 多语言查询支持,满足国际用户需求。全球通用,无障碍搜题。 下方附上一些测试的试题及答案 1、等渗性脱水时,体液变化…

禅道任务如何删除

背景 利用禅道任务,来统计项目投入工时,但由于录入错误,导致工时写错,想修改但工时只会增加。 问题复现 先复现一下问题: 举例:2/6号工时之前由于操作失误,写成8小时,且任务状态为…

React - 你知道useffect函数内如何模拟生命周期吗

难度级别:中级及以上 提问概率:65% 很多前端开发人员习惯了Vue或者React的组件式开发,熟知组件的周期过程包含初始化、挂载完成、修改和卸载等阶段。但是当使用Hooks做业务开发的时候,看见一个个useEffect函数,却显得有些迷茫,因为在us…

DFS:深搜+回溯+剪枝解决排列、子集问题

创作不易&#xff0c;感谢三连支持&#xff01;&#xff01; 一、全排列I . - 力扣&#xff08;LeetCode&#xff09; class Solution { public://全局变量vector<vector<int>> ret;vector<int> path;bool check[6];vector<vector<int>> perm…

Hololens2远程音视频通话与AR远程空间标注,基于OpenXR+MRTK3+WebRTC实现

Hololens2远程音视频通话与AR远程空间标注 使用Unity2021.3.21版本开发&#xff0c;基于OpenXRMRTK3.0WebRTC实现。 &#xff08;1&#xff09;通过视频获取视频帧的矩阵的方法可以参考&#xff1a;https://learn.microsoft.com/zh-cn/windows/mixed-reality/develop/advanced…

异步和同步

异步和同步都是指对于数据的传输和处理的方式。在处理JSON&#xff08;JavaScript Object Notation&#xff09;数据时&#xff0c;异步和同步的方式也是可以用来读取和解析JSON数据的。 异步JSON是指使用异步的方式获取和处理JSON数据。异步操作允许程序在等待服务器响应的同…

(学习日记)2024.04.09:UCOSIII第三十七节:事件函数接口

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

Python入门的60个基础练习(一)

01-Hello World python的语法逻辑完全靠缩进&#xff0c;建议缩进4个空格。如果是顶级代码&#xff0c;那么必须顶格书写&#xff0c;哪怕只有一个空格也会有语法错误。下面示例中&#xff0c;满足if条件要输出两行内容&#xff0c;这两行内容必须都缩进&#xff0c;而且具有相…

七燕论文可靠吗 #经验分享#经验分享

七燕论文是一个非常好用的论文写作工具&#xff0c;它不仅可以帮助学生提高写作效率&#xff0c;还能帮助他们避免抄袭和提高论文质量。七燕论文的查重降重功能非常靠谱&#xff0c;能够帮助用户检测论文中的重复内容&#xff0c;并提供相应的修改建议&#xff0c;确保论文的原…

设计模式 -- 发布订阅模式

发布订阅模式&#xff1a; 订阅者把自己想订阅的事件注册到调度中心&#xff0c;当发布者发布该事件到调度中心&#xff0c;也就是该事件触发时&#xff0c;由调度者统一调度订阅者注册到调度中心的处理代码。 在javaScript 中我们一般使用事件模型来代替传统的发布订阅模式。 …

CSS设置网页颜色

目录 前言&#xff1a; 1.颜色名字&#xff1a; 2.十六进制码&#xff1a; 3.RGB&#xff1a; 4.RGBA&#xff1a; 5.HSL&#xff1a; 1.hue&#xff1a; 2.saturation&#xff1a; 3.lightness&#xff1a; 6.HSLA&#xff1a; 前言&#xff1a; 我们在电脑显示器&…

Windows 关闭占用指定端口的进程

以下示例以443端口为例&#xff0c;具体哪个端口视自己情况而定 输入命令 # 输出的最后一列就是进程号pid netstat -ano | findstr "443" 找出占用443端口的进程号(pid)&#xff08;第二列是你本机的应用占用的端口&#xff0c;看第二列就行&#xff09;如下图&am…

4 万字 102 道Java经典面试题总结(2024修订版)- 多线程篇

&#x1f345; 作者简介&#xff1a;哪吒&#xff0c;CSDN2021博客之星亚军&#x1f3c6;、新星计划导师✌、博客专家&#x1f4aa; &#x1f345; 哪吒多年工作总结&#xff1a;Java学习路线总结&#xff0c;搬砖工逆袭Java架构师 &#x1f345; 技术交流&#xff1a;定期更新…

前端js获取当hppt协议

在JavaScript中&#xff0c;你可以通过window.location对象来获取当前页面的URL&#xff0c;并从中解析出协议部分&#xff08;例如&#xff0c;http或https&#xff09;。下面是一个简单的示例&#xff1a; // 获取当前页面的完整URL var currentURL window.location.href…

关于GNSS硬件延迟初步学习,电离层提取

1、卫星端偏差分为频间和频内偏差&#xff08;inter or intra frequency&#xff09;&#xff0c;下面以GPS的C1C和C2W组合为例分析对PPP解算的影响&#xff1a; 如果不改正卫星端的inter-frequency&#xff08;即&#xff1a;C1C-C1W&#xff09;偏差&#xff08;因为每颗卫星…

AI实时换天解决方案:重塑汽车与旅行拍摄新视界

在汽车拍摄与旅行摄影领域&#xff0c;天空作为画面中的重要元素&#xff0c;往往决定着整体视觉效果的成败。美摄科技作为业界领先的AI视觉技术提供商&#xff0c;近日推出了全新的AI实时换天解决方案&#xff0c;为用户带来了前所未有的创意空间与效率提升。 传统的换天技术…

字母大小写转换(C语言)

一、运行结果&#xff1b; 二、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>int main() {//初始化变量值&#xff1b;char c1 A;char c2 0;//实现大小写转换&#xff1b;c2 c1 32;//输出结果&#xff1b;printf("c2的编码是&…

20240408,C++数组,函数,指针

是谁说回老家学习结果摆烂了两天&#xff0c;是我&#xff0c;Π—Π&#xff01; Π—Π&#xff01;&#xff01; 一&#xff0c;数组——同C 1.1一维数组 1.0 相同类型&#xff0c;连续内存&#xff0c; 1.1 定义格式&#xff1a;数据类型 数组名【长度】&#xff1…

uni-app(H5)论坛 | 社区 表情选择 UI组件

项目源码请移步&#xff1a;bbs 效果 实现思路 表情切换 人物、动物、小黄人不同表情之间的切换实际就是组件的切换 emoji表情 emoji表情本身就是一种字符 如需其他emoji表情可参考 EmojiAll中文官方网站 需要注意的就是数据库的存储格式需要支持emoji表情&#xff0c;我项…