• 【作业】工资管理系统


     1 #工资查询
     2 def info_search(usr_name):
     3     salary = -10000
     4     with open('info.txt','r') as f:
     5         for line in f:
     6             if usr_name==line.split()[0]:
     7                 salary=float(line.split()[1])
     8                 break
     9     return salary
    10 def info_change(usr_name,salary):
    11     salary_num=float(salary)
    12     with open('info.txt', 'r') as f:
    13         data=f.readlines()
    14     with open('info.txt','w') as f:
    15         if salary_num>0:
    16             f_pos=0
    17             for line in data:
    18                 if usr_name in line:
    19                     line=' '.join([usr_name,salary])+'
    '
    20                 f.write(line)
    21             return True
    22         else:
    23             return False
    24 def info_add(usr_name,salary):
    25     if info_search(usr_name)<0:
    26         with open('info.txt', 'a') as f:
    27             line='
    '+' '.join([usr_name,salary])
    28             f.write(line)
    29         return True
    30     else:
    31         return False
    32 def Salary_Manager():
    33     help_info='''
    34     1. 查询员工工资
    35     2. 修改员工工资
    36     3. 增加新员工记录
    37     4. 退出'''
    38     while True:
    39         print(help_info)
    40         #输入有效性检查
    41         try:
    42             usr_select = int(input("请选择(Please select):"))
    43         except ValueError:
    44             print('请输入1~4之间的整数。(Please input an integer between 1 and 4.)')
    45             continue
    46         if usr_select not in [1,2,3,4]:
    47             print('请输入1~4之间的整数。(Please input an integer between 1 and 4.)')
    48             continue
    49         #查询工资
    50         if usr_select==1:
    51             usr_name=input("请输入要查询的员工姓名(例如:Alex)")
    52             usr_salary=info_search(usr_name)
    53             if usr_salary>0:
    54                 print("%s的工资是%s"%(usr_name,usr_salary))
    55             else:
    56                 print('没有找到该员工,请检查。')
    57         #修改工资
    58         elif usr_select==2:
    59             usr_salary=-10000
    60             items=input('请输入要修改的员工姓名和工资,用空格分隔(例如:Alex 10):')
    61             #有效性检查及工资修改
    62             if len(items.split())==2:
    63                 usr_name=items.split()[0]
    64                 usr_salary=items.split()[1]
    65                 if usr_salary.isnumeric() and float(usr_salary)>0:
    66                     if info_change(usr_name, usr_salary):
    67                         print('修改成功。')
    68                     else:
    69                         print('输入格式有误或不存该员工。')
    70                 else:
    71                     print('工资输入有误,请检查。')
    72             else:
    73                 print('输入格式有误。')
    74 
    75         #增加员工记录
    76         elif usr_select==3:
    77             items=input('请输入要增加的员工姓名和工资,用空格分割(例如:Eric 100000):')
    78             #有效性检查及人员增加
    79             if len(items.split())==2:
    80                 usr_name=items.split()[0]
    81                 usr_salary=items.split()[1]
    82                 if usr_salary.isnumeric():
    83                     if info_add(usr_name, usr_salary):
    84                         print('增加成功!')
    85                     else:
    86                         print('输入格式有误或员工已存在。')
    87                 else:
    88                     print('工资输入有误,请检查。')
    89             else:
    90                 print('输入格式有误。')
    91             pass
    92         #退出
    93         else:
    94             print("再见。Bye.")
    95             exit()
    96 Salary_Manager()

     

  • 相关阅读:
    修改CentOS 6.4 root用户的系统默认语言设置
    Xpages学习
    Mysql 执行sql脚本文件
    Errors occurred during the build. Errors running builder 'JavaScript Validator' on project 'XXX'.
    【鸟哥学习笔记】之一:目录的权限问题
    学习C++的一些问题总结
    C# 一些知识点总结(一)_继承,多态,集合,关键字...
    .NET Framework 框架的一些简单介绍
    Winform窗体关闭时判断是否关闭
    SQL Server 数据库的安全管理(登录、角色、权限)
  • 原文地址:https://www.cnblogs.com/Franklin-Kite/p/7487147.html
Copyright © 2020-2023  润新知