zoukankan      html  css  js  c++  java
  • 第三周 工资管理系统

    实现如下功能:

    #!/usr/bin/env python3
    # Author:zhangyang
    # --*-- coding: utf-8 --*--
    import os
    
    def file_test():
        with open("The salary management", 'r+', encoding="utf-8") as f:
            file=list(f) #str-->list
            return file#['Alex 100000
    ', 'Rain 80000
    ', 'Egon 50000
    ', 'Yuan 30000
    ']
    
    # file_test()
    
    def server(): #启动服务窗口
        for i in range(1):
            print("1.查询员工工资
    2.修改员工工资
    3.增加新员工记录
    4.退出")
            return i
    #进入主程序
    while 1:
        print('-----Welcome to the payroll management system-----')
        server()
        number=input('请选择你的服务:')
        if number.isdigit():
            number=int(number)
            file=file_test() #文件内容
            if number>0 and number<5:
                #查询功能
                if number==1:
                    print('---欢迎进入查询界面---')
                    name=input('请输入要查询的员工姓名:').strip()
                    for i in file:
                        file=i.strip().split() #file=['Alex','100000']
                        if name in file: #如果输入的名字在文件中有
                            break
                    for i in file:
                        if name in file:
                            salary = file[1]
                            print('%s的工资是:%s'%(name,salary))
                            break
                    else:
                        print('没有此用户!')
                #修改功能
                elif number == 2:
                    print('---欢迎进入修改界面---')
                    name_old = input('请输入你要修改的员工姓名:')
                    for i in file: #遍历这个文件 #['Alex 100000']
                        file=i.strip().split()  #字符串转为list-->file=['Alex','100000']
                        if name_old in file: #如果在输入的姓名在文件中
                            print(file)
                            salary_old=file[1] #记录这个员工未修改的工资
                            print('目前%s的工资是:%s'%(name_old,salary_old))
                            name_alter,salary_alter=input('请输入你要修改员工的姓名和工资,用空格分割:').strip().split() #接受两个变量
    
                            #打开文件读取
                            with open("The salary management", 'r', encoding="utf-8")as f ,
                                    open("The salary management.bak", 'w', encoding="utf-8")as f_a:
                                lines=f.readlines()
    
                                for line in lines:  #line=['Alex 10000']
                                    if name_old and salary_old in line: #['Alex', '100000']
                                        #print(line)
                                        line=line.replace(line,(name_alter+' '+salary_alter)+'
    ')
                                        #print(line)
                                    f_a.write(line)
    
                            os.remove('The salary management')
                            os.rename('The salary management.bak','The salary management')
                            print('修改成功!')
                            break
    
                    else:print('无此用户,请重试...')
                #增加功能
                elif number==3:
                    print('---欢迎进入增加界面---')
                    try: #判断参数数量
                        name_new,salary_new=input('请输入你要新增员工的姓名和工资金额(格式:员工 金额):').strip().split()
                    except ValueError: #如果错误的话,执行这一句
                        print('输入的参数不够,请重试!!')
    
                    else: #如果正确执行下面语句
                        if name_new.isalpha() and salary_new.isdigit():
                            for i in file:
                                file=i.strip().split()
                                if name_new not in file:
                                    with open("The salary management", 'a+', encoding="utf-8") as f_b:
                                        f_b.write("%s %s" % (name_new,salary_new))
                                    print('新增成功!')
                                    break
                        else:print('新增内容数据类型不对,请重新输入!')
                #退出功能
                elif number == 4:
                    print('33[32;0m谢谢使用,再见!33[;0m')
                    break
            else:print('请输入正确的序列号')
        else:print('请输入整数数据类型')
     
  • 相关阅读:
    XML错误信息Referenced file contains errors (http://www.springframework.org/schema/beans/spring-beans-4.0.xsd). For more information, right click on the message in the Problems View ...
    Description Resource Path Location Type Cannot change version of project facet Dynamic Web Module to 2.3.
    maven创建web报错Cannot read lifecycle mapping metadata for artifact org.apache.maven.plugins:maven-compiler-plugin:maven-compiler-plugin:3.5.1:runtime Cause: error in opening zip file
    AJAX跨域
    JavaWeb学习总结(转载)
    JDBC学习笔记
    Java动态代理之JDK实现和CGlib实现
    (转)看懂UML类图
    spring boot配置使用fastjson
    python3下django连接mysql数据库
  • 原文地址:https://www.cnblogs.com/hanfe1/p/10794945.html
Copyright © 2011-2022 走看看