这个用户管理系统小白也能轻松掌握,只用了函数,用户信息只有两个:姓名(账号)和密码,采用字典存放数据,字典的键即为姓名,值为密码,功能分为两大部分,第一部分为用户的登录和注册,第二部分为管理员对信息的增删查改操作,以下为文章目录:

文章目录:

主选择界面:

主界面效果:

主界面函数: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 用户信息管理系统【各个函数剖析 + 完整代码 零基础适用篇】相关推荐

  1. python 学生信息管理系统(二)

    完整的代码放在<python 学生信息管理系统(一)>里,这里记录我学习中遇到的新问题. 附:编写好的部分学生信息文件 stu.txt如下: {'id': '0101', 'name': ...

  2. python综合管理系统代码_《python学生信息管理系统》[52KB]PDF代码版下载-码农之家...

    <python学生信息管理系统>是一本python相关的电子书资源,介绍了关于python.学生管理系统方面的内容,格式为PDF,资源大小52 KB,由26622451 提供,目前在&qu ...

  3. JavaWeb:用户信息管理系统

    目录: 前言: 一.需求分析: 1. 简单功能 2. 复杂功能 3.登录: 二.设计: 1. 技术选型: 2. 数据库设计: 三.开发: 1. 环境搭建 1. 创建数据库环境(mysql8.0) 2. ...

  4. Java+JSP+Mysql+Tomcat实现Web用户信息管理系统

    用户信息管理系统 一.系统介绍 1.软件环境 2.系统功能 3.数据库 二.系统展示 1.登录系统 2.主页面 3.新增用户信息 4.修改用户信息 5.查询用户信息 三.部分代码 DBUtil Adm ...

  5. Java+Swing+mysql用户信息管理系统

    Java+Swing+mysql用户信息管理系统 一.系统介绍 二.功能展示 1.管理员登陆 2.用户信息查询 3.用户信息添加 4.用户信息修改 5.用户信息删除 三.项目相关 3.1 乱码问题 3 ...

  6. 用户信息管理系统测试报告

    目录 一.测试环境 二.系统测试 三.测试用例 四.单元测试 1.登录测试 2.添加测试 3.删除测试 4.ID查找测试 5.更新测试 6.条件查找测试 7.返回符合条件的用户数测试 一.测试环境 项 ...

  7. 案例:用户信息管理系统

    案例:用户信息管理系统 1.需求 1.1 说明 用户信息列表展示,并且可以对用户信息的进行增删改查操作 1.2 效果图 根据需求,创建效果图,如下: 2.设计 2.1 技术选型 完成本次案例所用使用的 ...

  8. mvc三层架构(用户信息管理系统)

    mvc三层架构(实战项目 用户信息管理系统) 一.三层架构 View 层:用于接收用户提交请求的代码. Service 层:系统的业务逻辑主要在这里完成. Dao 层:直接操作数据库的代码. 二.三层 ...

  9. 用户信息管理系统(Javaweb实践练习项目,附源码)

    目录 前言 1. 系统概述 2. 系统各功能实现思路 2.1 列表查询 2.2 登录 2.3 添加 2.4 删除 2.5 修改 2.6 删除选中 2.7 分页查询 2.8 复杂条件查询 3. 系统源代 ...

最新文章

  1. 【PHPWord】创建带样式表格的Word文档
  2. 高级图像去雾算法的快速实现。
  3. (JavaWeb)IDEA中JDBC的使用
  4. uboot源码——C阶段的start_armboot函数
  5. MyBatis 解决模糊查询包含特殊字符
  6. Julia 创始人访谈:简单机器学习任务可与 Python 媲美,复杂任务胜过 Python
  7. 机器学习中常用的优化算法:
  8. 概述Swing窗体的种类
  9. postman调试网站API接口提示需要先登录怎么办
  10. python fread_fwrite 和 fread函数的用法小结
  11. matlab 输出两列,Matlab绘制两列正弦波的叠加
  12. skb_buff结构体解析
  13. 推荐一个国学资源分享、学术交流网站:龙腾网
  14. 让设计师哭笑不得的文案
  15. Banana PI (香蕉派) 安装 ubuntu-core-14 最小核心的操作步骤
  16. 活码生成器是什么?怎么用活码生成器制作活码?有没有免费的活码生成器?
  17. 隧道技术(Tunneling)
  18. TP5查询构造器查询语句select、find、colum、value详解
  19. 汉语编程联姻大中院校
  20. MATLAB中输入微分方程dy表示,怎么用MATLAB求解如Dy = y+1/y 的微分方程

热门文章

  1. 十大管理输入输出工具和技术
  2. python报错输出到日志_Python下的异常处理及错误日志记录
  3. Yocto系列讲解[理论篇]31 - Linux kernel相关的任务
  4. 银行业务中的清算指的是什么?
  5. 三星新款Galaxy Watch采用捷德移动安全eSIM技术实现无缝连接
  6. 典型的NPN开关电路-待补充20211215
  7. 【笔记】openwrt - nginx编译、配置反向代理(https下netdata不显示)
  8. 专访简书刘英滕 | 未来,以「产品设计」定位自己的设计师会越来越多
  9. 【无标题】Android透明度对照表
  10. 数据库系统原理与应用教程(008)—— 数据库相关概念练习题