實驗名稱:工資管理系統
實驗要求:
Alex 100000
Rain 80000
Egon 50000
Yuan 30000
-----以上是info.txt文件-----
實現效果:
從info.txt文件中讀取員工及其工資信息,最後將修改或增長的員工工資信息也寫入原info.txt文件。
效果演示:python
:1
請輸入要查詢的員工姓名(例如:Alex):Alex
Alex的工資是:100000。app
:2
請輸入要修改的員工姓名和工資,用空格分隔(例如:Alex 10):Alex 10
修改爲功!ide
:3
請輸入要增長的員工姓名和工資,共空格分割(例如:Eric 100000):Eric 100000
增長成功!code
:4
請輸入要增長的員工姓名和工資,共空格分割(例如:Eric 100000):Eric 100000
增長成功!ip
:5
再見!utf-8
代碼實現:rem
#!/usr/bin/env python #-*- coding:utf-8 -*- import os ######查詢操做###### def select(): name=input("請輸入要查詢的員工姓名(例如:Alex):").strip() #空格分段 flag=False #判斷條件 with open("info.txt","r")as reads: for line in reads: #遍歷 if line.split()[0]==name: ###[alex 1000],[Yuan 9999][0]==name flag=True print("員工信息",name,line.split()[1]) #[alex 1000][1]==1000 else: ###跳過,知道遍歷結束爲查詢到,執行if not flag的判斷 continue if not flag: print("\033[31;1m未找到%s員工信息\033[0m"%name) #####修改操做###### def revise(): reff=input("請輸入要修改的員工姓名和工資,用空格分隔(例如:Alex 10):").strip() ##reff: "Alex 10000" reff_list=reff.split() #reff_list : ['Alex','1000'] class list flag=False with open("info.txt","r")as reads,open("info",'w')as writes: for line in reads: #遍歷 line "alex 10000' if line.split()[0] == reff_list[0]: ##line "alex" == reff_list ["alex",""] writes.write(reff+"\n") #修改爲功,True flag=True else:### writes.write(line) os.remove("info_bak.txt") os.rename("info.txt","info_bak.txt") os.rename("info","info.txt") if flag: print("修改爲功") else: print("未找到須要修改的\033[31;1m%s\033[0m員工信息" % reff) def app(): rtff=input("請輸入要增長的員工姓名和工資,共空格分割(例如:Eric 100000):").strip() ##以空格做爲分隔符 rtff_list=rtff.split() flag=False with open("info.txt","r")as reads: for line in reads: if line.split()[0] == rtff_list[0]: ##當相同時,print 以重複。 flag = True else: continue if flag: print("\033[31;1m該%s用戶已存在\033[0m"%rtff) else: with open("info.txt", "a") as writes: writes.write("\n"+rtff) print("增長成功") ######刪除操做####### def delete(): name=input("請輸入要刪除的員工姓名(例如:Alex):").strip() flag=False with open("info.txt","r") as reads,open("info","w")as writes: for line in reads: if line.split()[0]==name: flag=True continue else: writes.write(line) os.remove("info_bak.txt") os.rename("info.txt", "info_bak.txt") os.rename("info", "info.txt") if flag: print("刪除成功") else: print("未找到須要修改的\033[31;1m%s\033[0m員工信息" % name) #####菜單##### def main(): menu={ "1":select, "2":revise, "3":app, "4":delete, "5":exit, } while True: print(""" 請選擇: 1,查詢員工信息 2,修改員工工資 3,增長員工信息 4,刪除員工信息 5,退出工資系統 """) choice=input(">>>").strip() ##choice :"1,2,3,4" if choice in menu: ###這裏是menu字典的key值等於choice menu[choice]() ###進入對應的value if __name__ == "__main__": main()