Python3实现的简单工资管理系统示例


Posted in Python onMarch 12, 2019

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

工资管理系统要求:

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

执行代码:

#!/usr/bin/env python3
# Author:Robert
# --*-- coding: utf-8 --*--
def file_test():
  with open("info.txt",'r',encoding="utf-8") as f:
    file = list(f)
    return file
def server():
  for i in range(1):
    print("1.查询员工工资\n2.修改员工工资\n3.增加新员工记录\n4.退出")
    return i
loginSucces = False
while True:
    i = server()
    serial_number = input("请选择你的服务>>:")
    if serial_number.isdigit():
      serial_number = int(serial_number)
      file = file_test()
      if serial_number < 5 and serial_number >= 0:
        if serial_number == 1:
          name = input("请输入要查询的员工姓名:").strip()
          for i in file:
            file = i.strip().split()
            if name in file:
              break
          for i in file:
            if name in file:
              name_sum = file[1]
              print("\033[32;1m%s的工资是:%s\033[0m\n"%(name,name_sum))
              break
          else:
            print("\033[31;1m没有此用户!\033[0m\n")
        elif serial_number == 2:
          name_old = input("请输入要修改的员工姓:").strip()
          for ii in file:
            file = ii.strip().split()
            if name_old in file:
              print(file)
              sum_old = file[1]
              name_alter,sum_alter = input("请输入修改的新员工姓名和工资,用空格分割:").strip().split()
              with open("info.txt","r",encoding="utf-8") as f:
                lines = f.readlines()
              with open("info.txt","w",encoding="utf-8") as f_a:
                for line in lines:
                  if name_old in line:
                    line = line.replace(name_old,name_alter)
                  f_a.write(line)
                f_a.close()
                with open("info.txt", "r", encoding="utf-8") as f:
                  lines = f.readlines()
                with open("info.txt", "w", encoding="utf-8") as f_b:
                  for line in lines:
                    if name_alter in line:
                      line = line.replace(sum_old,sum_alter)
                    f_b.write(line)
                  f_b.close()
                  print("修改成功")
                  break
                  if loginSucces == True: break
          else:
            print("\033[31;1m没有此用户!\033[0m\n")
        elif serial_number == 3:
          try:
            name_new, sum_new = input("请输入要增加的员工姓名和工资,用空格分割:").strip().split()
          except ValueError:
            print("\033[31;1m输入的参数不够!\033[0m\n")
          else:
            if name_new.isalpha() and sum_new.isdigit():
              for ii in file:
                file = ii.strip().split()
                if name_new not in file:
                  with open("info.txt", "a+", encoding="utf-8") as f_c:
                    f_c.write("\n%s %s"%(name_new,sum_new))
                  print("增加成功")
                  break
                  if loginSucces == True: break
            else:
              print("\033[31;1m参数类型不对!\033[0m\n")
        elif serial_number == 4:
          print("\033[31;1m谢谢使用,下次再见!\033[0m\n")
          exit()
      else:
        print("\033[31;1m请输入正确的序号!\033[0m\n")
    else:
      print("\033[31;1m输入的不是整数!\033[0m\n")

info.txt

name salary
Alex 100000
Rain 80000
Egon 50000
Yuan 30000

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

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

Python 相关文章推荐
python3大文件解压和基本操作
Dec 15 Python
python实现Floyd算法
Jan 03 Python
python 遍历目录(包括子目录)下所有文件的实例
Jul 11 Python
Python设计模式之命令模式原理与用法实例分析
Jan 11 Python
Python基于opencv实现的简单画板功能示例
Mar 04 Python
用scikit-learn和pandas学习线性回归的方法
Jun 21 Python
利用python实现AR教程
Nov 20 Python
tensorflow 2.1.0 安装与实战教程(CASIA FACE v5)
Jun 30 Python
python openCV实现摄像头获取人脸图片
Aug 20 Python
使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)
Oct 12 Python
Pytest中skip skipif跳过用例详解
Jun 30 Python
Python使用plt.boxplot()函数绘制箱图、常用方法以及含义详解
Aug 14 Python
Python3模拟登录操作实例分析
Mar 12 #Python
深入解析python中的实例方法、类方法和静态方法
Mar 11 #Python
Python 函数返回值的示例代码
Mar 11 #Python
浅谈Python批处理文件夹中的txt文件
Mar 11 #Python
Python数据报表之Excel操作模块用法分析
Mar 11 #Python
Python合并同一个文件夹下所有PDF文件的方法
Mar 11 #Python
Python实现截取PDF文件中的几页代码实例
Mar 11 #Python
You might like
source.php查看源文件
2006/12/09 PHP
PHP CLI模式下的多进程应用分析
2013/06/03 PHP
Drupal读取Excel并导入数据库实例
2014/03/02 PHP
PHP中echo,print_r与var_dump区别分析
2014/09/29 PHP
php实现两个数组相加的方法
2015/02/17 PHP
php查询mysql大量数据造成内存不足的解决方法
2015/03/04 PHP
一个PHP实现的轻量级简单爬虫
2015/07/08 PHP
php实现基于pdo的事务处理方法示例
2017/07/21 PHP
PHP仿tp实现mvc框架基本设计思路与实现方法分析
2018/05/23 PHP
Laravel5.5 手动分页和自定义分页样式的简单实现
2019/10/15 PHP
jQuery 添加/移除CSS类实现代码
2010/02/11 Javascript
jquery select(列表)的操作(取值/赋值)
2011/03/16 Javascript
JQuery入门——用one()方法绑定事件处理函数(仅触发一次)
2013/02/05 Javascript
一张Web前端的思维导图分享
2015/07/03 Javascript
深入理解jQuery.data() 的实现方式
2016/11/30 Javascript
node.js与C语言 实现遍历文件夹下最大的文件,并输出路径,大小
2017/01/20 Javascript
js中获取键盘按下键值event.keyCode、event.charCode和event.which的兼容性详解
2017/03/15 Javascript
用Vue编写抽象组件的方法
2019/05/06 Javascript
微信小程序canvas分享海报功能
2019/10/31 Javascript
JavaScript实现指定数量的并发限制的示例代码
2020/03/10 Javascript
es6函数中的作用域实例分析
2020/04/18 Javascript
python处理图片之PIL模块简单使用方法
2015/05/11 Python
Python在groupby分组后提取指定位置记录方法
2018/04/20 Python
利用pandas合并多个excel的方法示例
2019/10/10 Python
python实现猜单词游戏
2020/05/22 Python
python反编译教程之2048小游戏实例
2021/03/03 Python
英国花园药房: The Garden Pharmacy
2017/12/28 全球购物
英国领先的电动可调床制造商:Laybrook
2019/12/26 全球购物
材料物理专业个人求职信
2013/12/15 职场文书
英文留学推荐信范文
2014/01/25 职场文书
财务部绩效考核方案
2014/05/04 职场文书
教育实践活动对照检查材料
2014/09/23 职场文书
二手车转让协议书
2015/01/29 职场文书
安全生产标语口号
2015/12/26 职场文书
高三语文教学反思
2016/02/16 职场文书
压缩Redis里的字符串大对象操作
2021/06/23 Redis