python 用户信息管理系统【各个函数剖析 + 完整代码 零基础适用篇】
这个用户管理系统小白也能轻松掌握,只用了函数,用户信息只有两个:姓名(账号)和密码,采用字典存放数据,字典的键即为姓名,值为密码,功能分为两大部分,第一部分为用户的登录和注册,第二部分为管理员对信息的增删查改操作,以下为文章目录:
文章目录:
主选择界面:
主界面效果:
主界面函数:choose0()
选择一:用户的登录与注册:
登录注册选择页面效果:
登录页面效果:
注册页面效果:
注册条件功能效果:
敏感词判断:
密码纯数字纯字母判断:
密码长度判断:
登录注册函数:useroption()
选择二:管理员增删查改信息
管理员选项页面:
管理员选项页面效果:
管理员选项函数:addminiter()
管理员操作一: 增加用户信息
增加用户效果:
管理员操作二:删除用户信息
删除用户函数:deluser()
管理员操作三:改变用户信息
改变用户效果:
改变用户信息函数 :changeuser()
管理员操作四:显示用户信息
显示信息效果:
显示信息函数: showuser()
完整代码:
主选择界面:
主界面效果:
可以输入 1 或 2 来选择你想要登录注册还是管理员管理
主界面函数:choose0()
def choose0():print('-------- 图书馆借阅管理系统 --------')print('--------- 1.用户登录/注册 --------')print('--------- 2.管理员界面 -------')choose1 = int(input('请选择用户登录注册或是管理员登录:'))print(end='\n')if choose1 == 1:useroption()elif choose1==2:addminiter()else:print('您选择的信息有误')
选择一:用户的登录与注册:
该区域实现了用户的登录与注册,登录与注册放在了一个函数中,但是展示还是分开展示
登录注册选择页面效果:
登录页面效果:
注册页面效果:
注册页面还有其他条件功能:例如注册密码为全数字或全字母,则不符合,如果注册的姓名有脏字,则不符合,如果密码长度小于六位,也不符合等等
注册条件功能效果:
敏感词判断:
密码纯数字纯字母判断:
密码长度判断:
登录注册函数:useroption()
def useroption():print('--------- 用户登录注册 ----------')print('--------- 1.登录用户 -----------')print('--------- 2.注册用户 -----------')choose = int(input('请输入您的选择:'))if choose == 1:flag1 = 3while flag1:uname = input("--------- 请输入您的用户名:")if uname not in user:flag1 = flag1 - 1print('--------- 您输入的用户名不存在!您还剩下', flag1, '次输入机会')continueelse:breakflag2 = 3while flag2:password = input('--------- 请输入您的密码:')if password != user[uname]:flag2 = flag2 - 1print('--------- 您输入的密码错误!您还剩下', flag1, '次输入机会')continueelse:print('登陆成功,欢迎你'+ uname )print('------------------------')print(end='\n')choose0()elif choose == 2:flag3 = 1 # 退出注册flag4 = 0 # 判断是否有脏字,全局变量while flag3:uname = input('--------- 请输入您要注册的用户名:')duty = ['傻', '逼', '蠢', '吊', '笨']for i in duty:rename = uname.replace(i, '*')if rename != uname:flag4 = 1uname = renameif flag4 == 1:print("您注册的用户名", uname, "包含敏感词汇,请重新输入!注意不可包含'傻','逼','蠢','吊','笨'")flag4 = 0continueelse:while flag3:password = input('--------- 请输入您要注册的用户名的密码:')if password.isalpha() or password.isdigit():print("--------- 您的密码不能只包含数字或字母")continueelif len(password) < 6:print('--------- 您的密码长度过低,最低为6位')continueelse:user[uname] = passwordflag3 = 0print('您已成功注册用户:'+uname)print('------------------------')print(end='\n')choose0()
选择二:管理员增删查改信息
管理员选项页面:
输入1-4 来选择你要操作的管理员选项
管理员选项页面效果:
管理员选项函数:addminiter()
def addminiter():print('-------- 用户信息维护页 --------')print('-------- 1.增加用户信息 ----------')print('-------- 2.删除用户信息 ----------')print('-------- 3.修改用户信息 ----------')print('-------- 4.显示用户信息 ----------')choose2=int(input('请输入您的管理员选项:'))if choose2==1:adduser()if choose2==2:deluser()if choose2==3:changeuser()if choose2==4:showuser()
管理员操作一: 增加用户信息
增加用户效果:
增加用户函数:adduser()
def adduser():newname = input('请输入新用户的账号:')newpwd = input('请输入新用户的密码:')print('您已成功添加用户:' + '账号为:'+ newname + ' ,密码为:' + newpwd)print('------------------------')print(end='\n')newuser={}newuser[newname]=newpwduser.update(newuser)choose0()
管理员操作二:删除用户信息
删除用户效果:
删除用户函数:deluser()
def deluser():delname=input('请输入要删除的用户的账号:')print('您确认删除账号为:' + delname + ' 的用户信息吗?')choose3=input('Y/N:')if choose3=='Y':if delname in user:del user[delname]print('您已删除用户:' + delname)print('------------------------')print(end='\n')choose0()else:print('您输入的账号不存在')print('------------------------')print(end='\n')choose0()elif choose3=='N':print('您未删除任何用户')print('------------------------')print(end='\n')choose0()
管理员操作三:改变用户信息
此操作由于用户数据中只有名字和密码,所以此处只能根据姓名改变该姓名对应的密码,如果需要别的信息自行添加即可
改变用户效果:
改变用户信息函数 :changeuser()
def changeuser():changename=input('请输入要修改的学生的账号:')if changename in user:print('您当前修改的用户账号为:' + changename)new_changepwd = input('请输入要修改的用户的密码:')user[changename]=new_changepwdprint('您已成功修改用户',changename,'的个人信息')print('------------------------')print(end='\n')choose0()else:print('您输入的用户不存在')print('------------------------')print(end='\n')choose0()
管理员操作四:显示用户信息
显示信息效果:
显示信息函数: showuser()
def showuser():showname=input('请输入您要查询的用户账号:')if showname in user:print('您要查询的该用户信息为:')print('账号为:'+showname+' ,密码为:'+user[showname])print('------------------------')print(end='\n')choose0()else:print('无此用户')print('------------------------')print(end='\n')choose0()
完整代码:
user = {'孟煜桐': '123456m','彭敬':'123456p'}class Menu(object):@staticmethoddef StudentMenu():print('-------- 欢迎来到图书管理系统 --------')print('--------- 1 查看所有藏书')print('--------- 2 借阅图书')print('--------- 3 归还图书')print('--------- 4 查询图书')print('--------- 0 退出系统')while True:studentchoice = input('请选择您要进行的操作:')if studentchoice == '1':choice.StudentSee()elif studentchoice =='2':choice.StudentBorrow()elif studentchoice == '3':choice.StudentGive()elif studentchoice == '4':choice.ManagerFind();elif studentchoice =='0':print ('---------- 欢迎再次使用图书管理系统 ---------')print('')choose0()breakelse:print ('您输入的信息有误,请重新输入:')Menu.StudentMenu()class Book(object):def __init__(self, name, author, count, place):self.name = nameself.author = authorself.count = countself.place = placeclass choice(object):# 查询图书@staticmethoddef ManagerFind():name = input('请输入要查询的书名:')for book in BookList:if name == book.name :print('《%s》 作者:%s 数量:%s 楼层:%s!' % (name,book.author,book.count,book.place))return Trueelse:print ('书库里没有书籍《%s》!' % book.name)return None# 遍历图书馆中的所有书@staticmethoddef StudentSee():print ('图书馆中所有的书有:')for book in BookList:print ('《%s》 作者:%s \t数量:%s \t楼层:%s '% (book.name,book.author,book.count,book.place))print('*'*30)Menu.StudentMenu()# 学生借书部分@staticmethoddef StudentBorrow():name = input('请输入您想借阅的书名:')for book in BookList:if name == book.name :if book.count == 0 or book.count < 0:print('------ 该书已经被借空,请稍后再来!------')print('')Menu.StudentMenu()else:print('------ 您已成功借到书籍《%s》------' % (name))print('')book.count -= 1Menu.StudentMenu()for book in BookList:if book.name not in BookList:print('------ 抱歉,图书馆暂时没有《%s》这本书' % name)print('')Menu.StudentMenu()break;# 学生还书部分@staticmethoddef StudentGive():name = input('------ 请输入您要归还的书名:')for book in BookList:if name == book.name:book.count+=1print('------ 您已成功归还书籍《%s》' % name)print('')Menu.StudentMenu()if name not in BookList:print('------ 抱歉,图书馆暂时没有《%s》这本书,您无法归还' % name)print('')Menu.StudentMenu()def choose0():print('-------- 图书馆借阅管理系统 --------')print('--------- 1.用户登录/注册 --------')print('--------- 2.管理员界面 -------')choose1 = int(input('请选择用户登录注册或是管理员登录:'))print(end='\n')if choose1 == 1:useroption()elif choose1==2:addminiter()else:print('您选择的信息有误')def addminiter():print('-------- 用户信息维护页 --------')print('-------- 1.增加用户信息 ----------')print('-------- 2.删除用户信息 ----------')print('-------- 3.修改用户信息 ----------')print('-------- 4.显示用户信息 ----------')choose2=int(input('请输入您的管理员选项:'))if choose2==1:adduser()if choose2==2:deluser()if choose2==3:changeuser()if choose2==4:showuser()def adduser():newname = input('请输入新用户的账号:')newpwd = input('请输入新用户的密码:')print('您已成功添加用户:' + '账号为:'+ newname + ' ,密码为:' + newpwd)print('------------------------')print(end='\n')newuser={}newuser[newname]=newpwduser.update(newuser)choose0()def deluser():delname=input('请输入要删除的用户的账号:')print('您确认删除账号为:' + delname + ' 的用户信息吗?')choose3=input('Y/N:')if choose3=='Y':if delname in user:del user[delname]print('您已删除用户:' + delname)print('------------------------')print(end='\n')choose0()else:print('您输入的账号不存在')print('------------------------')print(end='\n')choose0()elif choose3=='N':print('您未删除任何用户')print('------------------------')print(end='\n')choose0()def changeuser():changename=input('请输入要修改的学生的账号:')if changename in user:print('您当前修改的用户账号为:' + changename)new_changepwd = input('请输入要修改的用户的密码:')user[changename]=new_changepwdprint('您已成功修改用户',changename,'的个人信息')print('------------------------')print(end='\n')choose0()else:print('您输入的用户不存在')print('------------------------')print(end='\n')choose0()def showuser():showname=input('请输入您要查询的用户账号:')if showname in user:print('您要查询的该用户信息为:')print('账号为:'+showname+' ,密码为:'+user[showname])print('------------------------')print(end='\n')choose0()else:print('无此用户')print('------------------------')print(end='\n')choose0()def useroption():print('--------- 用户登录注册 ----------')print('--------- 1.登录用户 -----------')print('--------- 2.注册用户 -----------')choose = int(input('请输入您的选择:'))if choose == 1:flag1 = 3while flag1:uname = input("--------- 请输入您的用户名:")if uname not in user:flag1 = flag1 - 1print('--------- 您输入的用户名不存在!您还剩下', flag1, '次输入机会')continueelse:break;if flag1 <= 0:print('-------- 您输入错误次数过多,稍后再试')print('-------------------------------')choose0()else:flag2 = 3while flag2:password = input('--------- 请输入您的密码:')if password != user[uname]:flag2 = flag2 - 1print('--------- 您输入的密码错误!您还剩下', flag2, '次输入机会')continueelse:print('登陆成功,欢迎你'+ uname )print('------------------------')print(end='\n')Menu.StudentMenu();elif choose == 2:flag3 = 1 # 退出注册flag4 = 0 # 判断是否有脏字,全局变量while flag3:uname = input('--------- 请输入您要注册的用户名:')duty = ['傻', '逼', '蠢', '吊', '笨']for i in duty:rename = uname.replace(i, '*')if rename != uname:flag4 = 1uname = renameif flag4 == 1:print("您注册的用户名", uname, "包含敏感词汇,请重新输入!注意不可包含'傻','逼','蠢','吊','笨'")flag4 = 0continueelse:while flag3:password = input('--------- 请输入您要注册的用户名的密码:')if password.isalpha() or password.isdigit():print("--------- 您的密码不能只包含数字或字母")continueelif len(password) < 6:print('--------- 您的密码长度过低,最低为6位')continueelse:user[uname] = passwordflag3 = 0print('您已成功注册用户:'+uname)print('------------------------')print(end='\n')choose0()BookList = []
book1 = BookList.append(Book('web前端开发','张三',10,'1Floor'))
book2 = BookList.append(Book('计算机操作系统','李四',10, '2Floor'))
book3 = BookList.append(Book('python程序设计','贾子琪',10,'3Floor'))
book4 = BookList.append(Book('软件工程','王五',10,'3Floor'))
book5 = BookList.append(Book('老人与海','海明威',10,'3Floor'))
choose0()
python 用户信息管理系统【各个函数剖析 + 完整代码 零基础适用篇】相关推荐
- python 学生信息管理系统(二)
完整的代码放在<python 学生信息管理系统(一)>里,这里记录我学习中遇到的新问题. 附:编写好的部分学生信息文件 stu.txt如下: {'id': '0101', 'name': ...
- python综合管理系统代码_《python学生信息管理系统》[52KB]PDF代码版下载-码农之家...
<python学生信息管理系统>是一本python相关的电子书资源,介绍了关于python.学生管理系统方面的内容,格式为PDF,资源大小52 KB,由26622451 提供,目前在&qu ...
- JavaWeb:用户信息管理系统
目录: 前言: 一.需求分析: 1. 简单功能 2. 复杂功能 3.登录: 二.设计: 1. 技术选型: 2. 数据库设计: 三.开发: 1. 环境搭建 1. 创建数据库环境(mysql8.0) 2. ...
- Java+JSP+Mysql+Tomcat实现Web用户信息管理系统
用户信息管理系统 一.系统介绍 1.软件环境 2.系统功能 3.数据库 二.系统展示 1.登录系统 2.主页面 3.新增用户信息 4.修改用户信息 5.查询用户信息 三.部分代码 DBUtil Adm ...
- Java+Swing+mysql用户信息管理系统
Java+Swing+mysql用户信息管理系统 一.系统介绍 二.功能展示 1.管理员登陆 2.用户信息查询 3.用户信息添加 4.用户信息修改 5.用户信息删除 三.项目相关 3.1 乱码问题 3 ...
- 用户信息管理系统测试报告
目录 一.测试环境 二.系统测试 三.测试用例 四.单元测试 1.登录测试 2.添加测试 3.删除测试 4.ID查找测试 5.更新测试 6.条件查找测试 7.返回符合条件的用户数测试 一.测试环境 项 ...
- 案例:用户信息管理系统
案例:用户信息管理系统 1.需求 1.1 说明 用户信息列表展示,并且可以对用户信息的进行增删改查操作 1.2 效果图 根据需求,创建效果图,如下: 2.设计 2.1 技术选型 完成本次案例所用使用的 ...
- mvc三层架构(用户信息管理系统)
mvc三层架构(实战项目 用户信息管理系统) 一.三层架构 View 层:用于接收用户提交请求的代码. Service 层:系统的业务逻辑主要在这里完成. Dao 层:直接操作数据库的代码. 二.三层 ...
- 用户信息管理系统(Javaweb实践练习项目,附源码)
目录 前言 1. 系统概述 2. 系统各功能实现思路 2.1 列表查询 2.2 登录 2.3 添加 2.4 删除 2.5 修改 2.6 删除选中 2.7 分页查询 2.8 复杂条件查询 3. 系统源代 ...
最新文章
- 【PHPWord】创建带样式表格的Word文档
- 高级图像去雾算法的快速实现。
- (JavaWeb)IDEA中JDBC的使用
- uboot源码——C阶段的start_armboot函数
- MyBatis 解决模糊查询包含特殊字符
- Julia 创始人访谈:简单机器学习任务可与 Python 媲美,复杂任务胜过 Python
- 机器学习中常用的优化算法:
- 概述Swing窗体的种类
- postman调试网站API接口提示需要先登录怎么办
- python fread_fwrite 和 fread函数的用法小结
- matlab 输出两列,Matlab绘制两列正弦波的叠加
- skb_buff结构体解析
- 推荐一个国学资源分享、学术交流网站:龙腾网
- 让设计师哭笑不得的文案
- Banana PI (香蕉派) 安装 ubuntu-core-14 最小核心的操作步骤
- 活码生成器是什么?怎么用活码生成器制作活码?有没有免费的活码生成器?
- 隧道技术(Tunneling)
- TP5查询构造器查询语句select、find、colum、value详解
- 汉语编程联姻大中院校
- MATLAB中输入微分方程dy表示,怎么用MATLAB求解如Dy = y+1/y 的微分方程
热门文章
- 十大管理输入输出工具和技术
- python报错输出到日志_Python下的异常处理及错误日志记录
- Yocto系列讲解[理论篇]31 - Linux kernel相关的任务
- 银行业务中的清算指的是什么?
- 三星新款Galaxy Watch采用捷德移动安全eSIM技术实现无缝连接
- 典型的NPN开关电路-待补充20211215
- 【笔记】openwrt - nginx编译、配置反向代理(https下netdata不显示)
- 专访简书刘英滕 | 未来,以「产品设计」定位自己的设计师会越来越多
- 【无标题】Android透明度对照表
- 数据库系统原理与应用教程(008)—— 数据库相关概念练习题