亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Python工資管理系統

標簽:
Python

实验名称:工资管理系统
实验要求:
Alex 100000
Rain 80000
Egon 50000
Yuan 30000
-----以上是info.txt文件-----
实现效果:
从info.txt文件中读取员工及其工资信息,最后将修改或增加的员工工资信息也写入原info.txt文件。
效果演示:

  1. 查询员工工资

  2. 修改员工工资

  3. 增加新员工记录

  4. 删除员工信息

  5. 退出

    >:1
    请输入要查询的员工姓名(例如:Alex):Alex
    Alex的工资是:100000。

  6. 查询员工工资

  7. 修改员工工资

  8. 增加新员工记录

  9. 删除员工信息

  10. 退出

    >:2
    请输入要修改的员工姓名和工资,用空格分隔(例如:Alex 10):Alex 10
    修改成功!

  11. 查询员工工资

  12. 修改员工工资

  13. 增加新员工记录

  14. 删除员工信息

  15. 退出

    >:3
    请输入要增加的员工姓名和工资,共空格分割(例如:Eric 100000):Eric 100000
    增加成功!

  16. 查询员工工资

  17. 修改员工工资

  18. 增加新员工记录

  19. 删除员工信息

  20. 退出

    >:4
    请输入要增加的员工姓名和工资,共空格分割(例如:Eric 100000):Eric 100000
    增加成功!

  21. 查询员工工资

  22. 修改员工工资

  23. 增加新员工记录

  24. 删除员工信息

  25. 退出

    >:5
    再见!

代码实现:


#!/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()



點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消