1 #!/usr/bin/env python

2 #-*- coding=utf-8 -*-

3 """

4 @author:Wllen5 @file:staff_manage.py6 @time:2018/6/8 14:577 """

8 def print_info(account_dict,username): #打印用户信息,将输入的username作为字典的key进行取值(列表),打印列表

9 data =account_dict.get(username)10 info = '''

11 姓名: %s12 年龄: %s13 职务: %s14 部门: %s15 ''' % (data[0], data[2], data[3], data[4])16 print(info)17 #save_account(account_dict)

18

19 def save_account(account_dict): #将修改后的数据存入文件中

20 with open(account_file, "r+", encoding="utf-8") as f:21 f.truncate(0) #清空原文件,光标位置向后切片

22 for j in account_dict: #将字典中的key的值存入文件中

23 row = ",".join(account_dict[j])24 f.write("%s \n" %row)25 f.flush()26

27 def change_info(account_dict,username): #修改用户个人信息

28 data =account_dict.get(username)29 #print(data)

30 info = '''

31 1 姓名32 2 年龄33 3 职务34 4 部门35 '''

36 while True: #一直停留在这

37 print(info)38 change_choice = input("请选择需要修改的选项:").strip() #输入选择的功能

39 ifchange_choice.isdigit():40 change_choice =int(change_choice)41 if change_choice > 0 and change_choice <= 4: #输入的不能超过功能数

42 if change_choice == 1:43 data_name = input("请输入新的用户名:").strip()44 if notdata_name:45 print("输入有误!")46 else:47 data[0] =data_name48 print("已将用户名修改为:", data_name)49 elif change_choice == 2:50 data_age = input("请输入新的年龄:").strip()51 if notdata_age:52 print("输入有误!")53 else:54 data[0] =data_age55 print("已将年龄名修改为:", data_age)56 elif change_choice == 3:57 data_position = input("请输入新的职务:").strip()58 if notdata_position:59 print("输入有误!")60 else:61 data[0] =data_position62 print("已将职务修改为:", data_position)63 elif change_choice == 4:64 data_department = input("请输入新的部门:").strip()65 if notdata_department:66 print("输入有误!")67 else:68 data[0] =data_department69 print("已将部门修改为:", data_department)70 else:71 print("没有此选项")72 elif change_choice.lower() == "b":73 break

74 else:75 print("输入有误!")76 save_account(account_dict)77 defchange_passwd(account_dict,username):78 data =account_dict.get(username)79 #print(data)

80 whileTrue:81 new_passwd = input("请输入您的新密码:").strip()82 new_passwd1 = input("请再次输入您的密码:").strip()83 if notnew_passwd:84 print("您的输入有误!")85 else:86 if new_passwd ==new_passwd1:87 data[1] =str(new_passwd)88 print("密码修改成功!")89 break

90 else:91 print("两次密码不相同,请重新输入!")92 save_account(account_dict)93

94 account_file = "staff_db.db"

95 with open(account_file, "r+", encoding="utf-8") as f:96 raw_data =f.readlines()97 accounts ={}98 #把账户数据从文件里读书来,变成dict,key为用户名

99 for line inraw_data:100 line =line.strip()101 items = line.split(",")102 accounts[items[0]] =items103 #{'alex': ['alex', 'abc123', '24', 'Engineer', 'IT'], 'rain': ['rain', 'df2@432', '25', 'Teacher', 'Teching']}

104

105 menu = '''

106 1. 修改个人信息107 2. 打印个人信息108 3. 修改密码109 '''

110 count =0111 while count < 3:112 username = input("请输入您的用户名:").strip()113 password = input("请输入您的密码:").strip()114 if username inaccounts:115 if username == accounts.get(username)[0] and password == accounts.get(username)[1]:116 print("欢迎%s来到员工信息表登记系统!" %username)117 whileTrue:118 print(menu)119 choice = input("请输入您需要进行的操作:").strip()120 ifchoice.isdigit():121 choice =int(choice)122 if choice == 1:123 change_info(accounts, username)124 print(accounts.get(username))125 elif choice == 2:126 print_info(accounts, username)127 elif choice == 3:128 change_passwd(accounts, username)129 else:130 print("没有此选项,请重新输入!")131 elif choice.lower() == 'q':132 exit("系统正在退出......")133 else:134 print("输入有误,请重新输入!")135 else:136 print("对不起,您的用户名或密码错误,请重新再试!剩余登录次数%s" % (2-count))137 count += 1

138 else:139 print("没有此用户!")

复杂个人信息输出程序python_练习题-修改个人信息程序相关推荐

  1. 复杂个人信息输出程序python_[填空(1)]用来实现web平台上的多线程处理功能。

    [单选题]#define RTCON (*(volatile unsigned char *)0x57000040)中,定义的是()寄存器. [其它]一.上机目的 1. 掌握栈的顺序表示和实现. 2. ...

  2. 数据库——修改表信息(转)

     简 mysql在表的某一位置增加一列的命令 如果想在一个已经建好的表中添加一列,可以用诸如: alter table t1 add column addr varchar(20) not null; ...

  3. 修改个人信息 python_python函数练习——个人信息修改

    阅读目录 回到顶部 修改个人信息程序 在一个文件里存多个人的个人信息,如以下 1.输入用户名密码,正确后登录系统 ,打印 1. 修改个人信息 2. 打印个人信息 3. 修改密码 2.每个选项写一个方法 ...

  4. Java/java程序设计:房屋出租系统:要求实现:新增房源,查找房屋信息,修改房屋信息,删除房屋信息,显示所有房屋列表,退出房屋管理系统;

    Java/java程序设计:房屋出租系统: 一.前言: 一.1. 框架图 二.各类包下的代码实现: 1. 主文件(运行文件HouseApp.java) 2. 房屋类文件(House.java) 3. ...

  5. idea中tomcat项目修改Module名之后修改配置信息

    修改module名 右键Rename–>Rename Module and Directory 修改tomcat配置信息 Edit Configurations之后修改以下信息和修改之后的mod ...

  6. 用python写:完成一个员工管理系统 要求存储员工的工号、姓名、年龄、性别、工资 1、员工录入 2、查询员工信息 3、修改员工信息 4、删除 5、根据工号查看 6、退出

    完成一个员工管理系统    要求存储员工的工号.姓名.年龄.性别.工资    1.员工录入    2.查询员工信息    3.修改员工信息    4.删除    5.根据工号查看    6.退出 Em ...

  7. Centos中用户相关操作(创建用户、设置密码、切换用户、修改用户信息、附加组、删除用户、用户分类)

    1.创建新用户 在root用户权限下新建用户: useradd -m xxx 选项 说明 -m 自动创建用户主目录,主目录的名字就是用户名 -g 指定用户所属的用户组,默认不指定会自动创建一个同名的用 ...

  8. 基于SpringBoot从零构建博客网站 - 开发设置主页标识和修改个人信息功能

    由于守望博客系统中支持由用户自己设置个人主页的URL的后半段,所以必须要用户设置该标识的功能,而且是用户注册登录之后自动弹出的页面,如果用户没有设置该标识,其它的操作是不能够操作的,同时要求主页标识只 ...

  9. 职工信息管理系统c语言报告,职工信息管理系统(c语言实现)

    功能实现: (1)系统以菜单方式工作 (2)职工信息录入功能(职工信息用文件保存)--输入 (3)职工信息浏览功能--输出 (4)职工信息查询功能--算法 查询方式:按姓名查询/按职工号查询 (5)职 ...

最新文章

  1. AI一分钟 | 传许家印已投资贾跃亭FF;腾讯将发布可接收微信的智能音箱;阿里确认研发自动驾驶技术...
  2. OpenCV学习--saturate_cast防止数据溢出
  3. [转]最流行的android组件大全
  4. 谁参加了JavaScript 2018状况调查?
  5. 赋能尖端科技 推进智能布局 |《HPC高性能计算数据存储解决方案蓝皮书》正式发布
  6. 本地安装Docker
  7. pythonlambda菜鸟教程-Python reduce() 函数
  8. 响应式编程优点 有效_美团 EasyReact 源码剖析:图论与响应式编程
  9. android ajax chrome,chrome浏览器ajax请求状态200,response为空的探索
  10. java实现Tomasulo算法_并行计算机组成与设计pdf
  11. 几种炫酷的Web特效
  12. 温故知新(七七)nextTick 是在本次循环执行,还是在下次,setTimeout(()=>{},0)呢
  13. java+添加分割符_如何给数字添加分隔符
  14. JavaScript---文件下载处理文件下载失败兼容IE11文件下载
  15. Hinton介绍胶囊理论的论文
  16. Window10下解决弹出兼容性助手对话框的方法
  17. 《疯狂java讲义》学习(44):线程同步
  18. 接口测试Jmeter
  19. 一篇解决:Ubuntu安装配置、软件、工具、快捷键
  20. x²-dy²=-1有多少整数解?近30年无人解开的数学难题有答案了

热门文章

  1. django form 对象is_bound属性
  2. centos安装与配置dhcp服务
  3. Windows server下部署php环境
  4. write solid code 零散(原文)
  5. 42佳优秀的 Photoshop 按钮制作教程
  6. 基于JavaWeb实现ATM机系统
  7. 基于SSH实现的学生成绩管理系统
  8. scikit-learn库中聚类算法自定义距离度量方式
  9. springMvc的执行流程(源码分析)
  10. 2018-2019-2 网络对抗技术 20165301 Exp3 免杀原理与实践