使用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
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注天达云行业资讯频道,感谢您对天达云的支持。