经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Python3 » 查看文章
Python3实现的简单工资管理系统示例
来源:jb51  时间:2019/3/13 8:39:14  对本文有异议

本文实例讲述了Python3实现的简单工资管理系统。分享给大家供大家参考,具体如下:

工资管理系统要求:

1. 查询员工工资
2. 修改员工工资
3. 增加新员工记录
4. 退出

执行代码:

  1. #!/usr/bin/env python3
  2. # Author:Robert
  3. # --*-- coding: utf-8 --*--
  4. def file_test():
  5. with open("info.txt",'r',encoding="utf-8") as f:
  6. file = list(f)
  7. return file
  8. def server():
  9. for i in range(1):
  10. print("1.查询员工工资\n2.修改员工工资\n3.增加新员工记录\n4.退出")
  11. return i
  12. loginSucces = False
  13. while True:
  14. i = server()
  15. serial_number = input("请选择你的服务>>:")
  16. if serial_number.isdigit():
  17. serial_number = int(serial_number)
  18. file = file_test()
  19. if serial_number < 5 and serial_number >= 0:
  20. if serial_number == 1:
  21. name = input("请输入要查询的员工姓名:").strip()
  22. for i in file:
  23. file = i.strip().split()
  24. if name in file:
  25. break
  26. for i in file:
  27. if name in file:
  28. name_sum = file[1]
  29. print("\033[32;1m%s的工资是:%s\033[0m\n"%(name,name_sum))
  30. break
  31. else:
  32. print("\033[31;1m没有此用户!\033[0m\n")
  33. elif serial_number == 2:
  34. name_old = input("请输入要修改的员工姓:").strip()
  35. for ii in file:
  36. file = ii.strip().split()
  37. if name_old in file:
  38. print(file)
  39. sum_old = file[1]
  40. name_alter,sum_alter = input("请输入修改的新员工姓名和工资,用空格分割:").strip().split()
  41. with open("info.txt","r",encoding="utf-8") as f:
  42. lines = f.readlines()
  43. with open("info.txt","w",encoding="utf-8") as f_a:
  44. for line in lines:
  45. if name_old in line:
  46. line = line.replace(name_old,name_alter)
  47. f_a.write(line)
  48. f_a.close()
  49. with open("info.txt", "r", encoding="utf-8") as f:
  50. lines = f.readlines()
  51. with open("info.txt", "w", encoding="utf-8") as f_b:
  52. for line in lines:
  53. if name_alter in line:
  54. line = line.replace(sum_old,sum_alter)
  55. f_b.write(line)
  56. f_b.close()
  57. print("修改成功")
  58. break
  59. if loginSucces == True: break
  60. else:
  61. print("\033[31;1m没有此用户!\033[0m\n")
  62. elif serial_number == 3:
  63. try:
  64. name_new, sum_new = input("请输入要增加的员工姓名和工资,用空格分割:").strip().split()
  65. except ValueError:
  66. print("\033[31;1m输入的参数不够!\033[0m\n")
  67. else:
  68. if name_new.isalpha() and sum_new.isdigit():
  69. for ii in file:
  70. file = ii.strip().split()
  71. if name_new not in file:
  72. with open("info.txt", "a+", encoding="utf-8") as f_c:
  73. f_c.write("\n%s %s"%(name_new,sum_new))
  74. print("增加成功")
  75. break
  76. if loginSucces == True: break
  77. else:
  78. print("\033[31;1m参数类型不对!\033[0m\n")
  79. elif serial_number == 4:
  80. print("\033[31;1m谢谢使用,下次再见!\033[0m\n")
  81. exit()
  82. else:
  83. print("\033[31;1m请输入正确的序号!\033[0m\n")
  84. else:
  85. print("\033[31;1m输入的不是整数!\033[0m\n")
  86.  

info.txt

name salary
Alex 100000
Rain 80000
Egon 50000
Yuan 30000

更多关于Python相关内容可查看jb51专题:《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号