zoukankan      html  css  js  c++  java
  • 【作业】工资管理系统

     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()

     

  • 相关阅读:
    Java常用的7大排序算法汇总
    swift 内存管理,WEAK 和 UNOWNED
    Java关键字final、static使用总结
    Swift对面向对象提供了良好的支持,下面介绍几个其独有的特性。
    如何自己动手实现 KVO(转)
    Method Swizzling 和 AOP 实践(转)
    Objective-C Runtime(转)
    在多线程中进行UI操作
    iOS 详解NSXMLParser方法解析XML数据方法
    用一张日落照片估算出地球的半径
  • 原文地址:https://www.cnblogs.com/Franklin-Kite/p/7487147.html
Copyright © 2011-2022 走看看