1 #!/usr/bin/env python

2 #coding=utf-8

3 __author__ = 'yinjia'

4

5 importhashlib6 importsys7 from project.day2 importPayrollSystem8

9 #存储文件

10 filename = 'log.txt'

11 #账号信息表

12 result ={}13

14 defmd5(arg):15 """

16 密码进行md5加密17 :param arg: 用户的密码18 :return: 返回进行加密后的密码19 """

20 result = hashlib.md5(bytes("k1:1a2 k2:688",encoding='utf-8'))21 result.update(bytes(arg,encoding='utf-8'))22 returnresult.hexdigest()23

24

25 deflogin(username,password):26 """

27 用于验证用户密码28 :param username:用户名29 :param password:密码30 :return: True,用户名验证成功;False,用户验证失败31 """

32

33 with open(filename,"r") as f:34 for line inf:35 u,p = line.strip().split(":")36 if username == u and md5(password) ==p:37 returnTrue38 returnFalse39

40 defregister(username,password):41 """

42 用户注册43 :param username: 用户名44 :param password: 密码45 :return: True,用户注册成功;46 """

47

48 with open(filename,"a") as f:49 temp = "\n" + username + ":" +md5(password)50 f.write(temp)51 returnTrue52

53 defuser_exist(username):54 """

55 检查用户名是否存在56 :param username: 用户名57 :return: True,用户名存在; False,用户名不存在58 """

59 with open(filename,"r") as f:60 for line inf:61 line =line.strip()62 line_list = line.split(":")63 if username ==line_list[0]:64 returnTrue65 returnFalse66

67 defdelete(username):68 """

69 删除用户名70 :param username: 用户名71 :return: True,删除成功; False,删除失败72 """

73 info()74 delresult[username]75 with open(filename,'w') as f:76 for key,value inresult.items():77 f.write("%s%s%s\n" % (key,":",value))78 returnTrue79

80 defedit(username,old_password,new_password):81 """

82 修改密码83 :param username:用户名84 :param old_password:旧密码85 :param new_password:新密码86 :return:True,修改成功;False,修改失败87 """

88 info()89 ret =result[username]90 if ret ==md5(old_password):91 result[username] =md5(new_password)92 with open(filename, 'w') as f:93 for key, value inresult.items():94 f.write("%s%s%s\n" % (key, ":", value))95 returnTrue96

97 definfo():98 """

99 提取账号信息100 :return: 返回账号信息表101 """

102 with open(filename,'r') as f:103 for line inf:104 line =line.strip()105 result[line.split(":")[0]] = line.split(":")[1]106 returnresult107

108 defmain():109 info_msg = """

110 1、登录系统111 2、注册账号112 3、删除账号113 4、修改密码114 """

115

116 print('\033[32;1m')117 print('*' * 50)118 print('\t\t\t\t欢迎登录工资管理系统')119 print('*' * 50)120 print('\033[0m')121 print(info_msg)122 pingtai = str(input("\033[1;34;1m请选择操作(退出请输入q|Q):\033[0m")).strip()123 if pingtai == "1":124 user = input("请输入用户名:")125 pwd = input("请输入密码:")126 ret =login(user,pwd)127 ifret:128 print("\033[1;31;1m<<<<<<<<登录成功>>>>>>>>>\033[0m")129 info =PayrollSystem.salary()130 info.comm()131 else:132 print("\033[1;31;1m<<<<<<<<登录失败>>>>>>>>>\033[0m")133 elif pingtai == "2":134 user = input("请输入用户名:")135 pwd = input("请输入密码:")136 ret =user_exist(user)137 ifret:138 print("\033[1;31;1m用户名已存在,不能注册!\033[0m")139 else:140 add_user =register(user,pwd)141 ifadd_user:142 print("注册成功")143 else:144 print("注册失败")145 elif pingtai == "3":146 user = input("请输入用户名:")147 del_user1 =user_exist(user)148 ifdel_user1:149 del_user2 =delete(user)150 ifdel_user2:151 print("删除成功!")152 else:153 print("删除失败!")154 else:155 print("\033[1;31;1m用户名不存在,无法删除!\033[0m")156

157 elif pingtai == "4":158 user = input("请输入用户名:")159 pas1 = input('请输入旧密码:')160 pas2 = input('请输入新密码:')161 del_user =user_exist(user)162 ifdel_user:163 edit_user =edit(user,pas1,pas2)164 ifedit_user:165 print("修改密码成功!")166 else:167 print("\033[1;31;1m旧密码错误,修改密码失败!\033[0m")168 else:169 print("\033[1;31;1m用户名不存在,无法修改!\033[0m")170 elif str(pingtai).lower() == "q":171 print("GoodBye!")172 sys.exit()173 else:174 print("\033[1;31;1m非法输入!\033[0m")175

176 if __name__ == "__main__":177 main()

python新人一月工资_python【项目】:工资管理(简易版)相关推荐

  1. 用python计算工资工资_python税后工资计算器

    介绍 重新实现上一个挑战中的个税计算器,可以计算并处理多人的工资并打印税后工资. 项目需求改变: 输出税后工资 计算过程需要扣除社会保险费用 支持多人同时计算工资 打印税后工资列表 个税计算公式: 应 ...

  2. 51单片机入门项目总结:简易版防盗报警器

    好久没有更新博客了,今天开始有时间就写写博客,总结一下之前做过的项目,以及对一些技术的思考.因为目前做过的项目都是为了学习单片机的某个知识点而做的,完成程度并不完整,后面也会对这些做过的项目进行完善和 ...

  3. 用python计算工资工资_python练习-工资计算器

    python练习-工资计算器 源代码如下: #! /usr/bin/env python def get_user_salary_sum(): salary = (raw_input("Pl ...

  4. python计算绩效工资_python实现 --工资管理系统

    原博文 2017-07-25 22:41 − # -*- coding: utf-8 -*- __author__ = 'hjianli' # import re import os info_mes ...

  5. python页面自动化测试代码覆盖率_Python项目在Jenkins中的自动化测试实践(语法检查、单元测试,coverage(代码覆盖率)、自动打包)...

    requirments OS: Ubuntu 14.04+ Gitlab 8.1 + Jenkins 2.19.0 + 使用Jenkins对Python项目进行自动化测试主要依赖nose(单元测试). ...

  6. python外星人实验报告_Python 项目实践一(外星人入侵)第一篇

    python断断续续的学了一段实践,基础课程终于看完了,现在跟着做三个小项目,第一个是外星人入侵的小游戏: 一 Pygame pygame 是一组功能强大而有趣的模块,可用于管理图形,动画乃至声音,让 ...

  7. python基础课程设计项目_python项目

    泉州信息工程学院 软件学院 课程设计报告书 课程名:python课程设计 课程设计项目名称:基于Django的中餐厅网站的设计与实现 团队成员: 刘冬华.杨艺萍 一.项目简介 1.1 项目博客地址 1 ...

  8. python学生管理系统教学_Python项目:学生信息管理系统(完整版)

    本文是基于上一篇(python项目:学生信息管理系统(初版))进行了完善,并添加了新的功能. 主要包括有: 学生信息管理系统(完整版) 学生信息管理项目,要求带操作界面,并完成每项操作: +----- ...

  9. python开发工具管理系统_Python之软件管理

    常用软件包管理工具 一般python软件包管理工具,主要有以下: 图 常用python包管理工具 可以看到distribute是setuptools的替代方案(因为Setuptools包不再维护了), ...

最新文章

  1. Codeforces #536 div2 E (1106E)Lunar New Year and Red Envelopes (DP)
  2. selenium | TypeError:object of type ‘WebElement’ has no len()
  3. 大牛书单 | 云原生技术领域好书推荐
  4. 文本分析工具 数据科学_数据科学工具
  5. python是基于什么的内存管理方式_python的内存管理机制是什么?
  6. javax.servlet.servlet
  7. matlab初学者教程_初学者的Hibernate教程
  8. scala几种循环判断语句_Scala循环控制语句– while,while和for循环
  9. svn无法cleanup常见解决方案
  10. Elasticsearch6.3.0安装IK分词插件
  11. 如何在史上最糟糕的里约奥运会中活下去?(内附奥运赛事时间表)
  12. 调用百度API,文字转语音
  13. 基于Python+Django的微博评论热点舆情分析可视化系统的设计与实现-计算机毕业设计选题题目推荐
  14. oracle数据库怎么查实例名,查询oracle数据库实例的名字
  15. 单片机推挽输出c语言,单片机IO口科普:推挽输出、开漏输出详解
  16. 【问题描述】编写一个程序计算出球、圆柱和圆锥的表面积和体积。
  17. 前端入门学习笔记十九
  18. 数字图像处理必备软件
  19. Jmeter tcp压测实践
  20. 面试经验 - 怎么回答“跳槽”的原因?

热门文章

  1. 本篇文档介绍如何手动在ECS实例上部署Java web项目
  2. J2EE经典面试题及答案
  3. 这都2021年了,还不会Feign性能调优?Feign性能调优之gzip压缩实现-自娱自乐篇
  4. Spring-bean的生命周期
  5. Go——Artifactory的AQL查询以及json解析解决方案
  6. 《数据结构与算法》实验报告——快速排序
  7. ACM国际大学生程序设计竞赛
  8. 人类史上最大最好的希望事件
  9. 操作系统【连续式分配方式、隐式链接、显示链接、索引方式、混合索引、位示图、成组链接】
  10. Android App的架构设计:从VM、MVC、MVP到MVVM