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

yipeiwu_com6年前Python基础

本文实例讲述了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程序设计有所帮助。

相关文章

django-rest-framework解析请求参数过程详解

django-rest-framework解析请求参数过程详解

前言 我们在django-rest-framework 自定义swagger 文章中编写了接口, 调通了接口文档. 接口文档可以直接填写参数进行请求, 接下来的问题是如何接受参数, 由...

Python使用分布式锁的代码演示示例

Python使用分布式锁的代码演示示例

在计算机并发领域编程中总是会与锁打交道,锁又有很多种,互斥锁、自旋锁等等。 锁总是伴随着线程、进程这样的词汇出现,阮一峰有 一篇文章 对这些名词进行了简单易懂的解释。 我的理解是,使用线...

使用Python编写vim插件的简单示例

 Vim 插件是一个 .vim 的脚本文件,定义了函数、映射、语法规则和命令,可用于操作窗口、缓冲以及行。一般一个插件包含了命令定义和事件钩子。当使用 Python 编写 vi...

TensorFlow卷积神经网络之使用训练好的模型识别猫狗图片

TensorFlow卷积神经网络之使用训练好的模型识别猫狗图片

本文是Python通过TensorFlow卷积神经网络实现猫狗识别的姊妹篇,是加载上一篇训练好的模型,进行猫狗识别 本文逻辑: 我从网上下载了十几张猫和狗的图片,用于检验我们训练好...

Python 找到列表中满足某些条件的元素方法

如下所示: a = [0, 1, 2, 3, 4, 0, 2, 3, 6, 7, 5] selected = [x for x in a if x in range(1, 5)] #...