栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python实现教师工资调整程序

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python实现教师工资调整程序

python实现教师工资管理
  • 题目概述
  • 设计教师工资调整程序
    • 数据流图
    • 需求分析
      • 1、任务概述
      • 2、数据描述
      • 3、功能需求
    • 算法设计
    • 针对算法设计作出HIPO图
    • 程序源码分析及运行结果展示
      • python程序源码分析
      • 运行结果展示
  • 总结

题目概述

美国某大学共有200名教师,校方与教师工会刚刚签订一项协议。按照协议,所有年工资超过$26000含$26000的教师工资将保持不变,年工资少于$26000的教师将增加工资,所增加的工资数按下述方法计算:给每个由此教师所赡养的人(包括教师本人)每年补助$100,此外,教师有一年工龄每年再多补助$50,但是,增加后的年工资总额不能多于$26000。
教师的工资档案储存在行政办公室的光盘上,档案中有目前的年工资、赡养人数、雇用日期等信息。需要写一个程序计算并印出每名教师的原有工资和调整后的新工资。

设计教师工资调整程序 数据流图

需求分析 1、任务概述

对于年工资未超过$26000的教师涨工资,即每赡养一人补助$100,每有一年工龄补助$50,涨工资的上限为$26000。

2、数据描述

数据库采用教师工资表。

3、功能需求

(1)获取教师当前工资、获取赡养人数、获取工龄、更新教师信息。
(2)计算工资、根据限额确定工资。
(3)排序、查询
(4)打印报表打印工资对照单。

算法设计

搜索工资档案数据,找出年工资少于$26000的人,计算新工资,校核是否超过$26000,储存新工资,印出新旧工资对照表。

针对算法设计作出HIPO图

程序源码分析及运行结果展示 python程序源码分析
import pandas as pd#引入pandas库
from datetime import datetime#引入datetime库
def sal():
#使用pd.read_excel来读取教师工资表
#使用index_col = 0来指定第一列为行索引
    df = pd.read_excel('C:/Users/admin/Desktop/teacherSal.xlsx', index_col = 0)
    print(df)
    #通过pandas库中的Dataframe()来创建一个空的excel表,这个表的字段有两个(分别是‘原教师工资’和‘现教师工资’)
    df1 = pd.Dataframe(columns = ['原教师年工资'] + ['现教师年工资'])
    for i in range(1,201):
    #df.loc[]获取某行某列的值
    #loc只支持使用表格行列索引,不能用内置数字索引
        if df.loc[i, '教师年工资'] >= 26000:
            sal = df.loc[i, '教师年工资']
        else:
        #datetime.now()表示系统本地时间
            working_age = int((datetime.now() - df.loc[i, '雇佣日期']).days / 365.0)
            sal = df.loc[i, '教师年工资'] + df.loc[i, '赡养人数'] * 100 + working_age * 50
            if sal > 26000:
                sal = 26000
        df1.loc[i, '原教师年工资'] = df.loc[i, '教师年工资']
        df1.loc[i, '现教师年工资'] = sal
#将df1内的数据写入调整后的工资表中   
df1.to_excel('C:/Users/admin/Desktop/adjustSal.xlsx')
#读取调整后工资表内的数据,指定第一列为行索引
    df1 = pd.read_excel('C:/Users/admin/Desktop/adjustSal.xlsx', index_col = 0)
    print(df1)
if __name__ == '__main__':
    sal()
运行结果展示

总结

1、学会了使用python内的pandas库来读取excel表格内的数据
2、我们可以使用pd.read_excel(‘excel-path’)来读取教师工资表(PS:excel-path指的是excel表存放的路径),另外还能在pd.read_excel()内添加参数index_col = 0来指定第一列为行索引,也即为pd.read_excel(‘file-path’, index-col = 0)
3、学会了使用pd.Dataframe()来创建一个表,如:df = pd.Dataframe(data=None, index=None, columns=None, dtype=None, copy=None)
参数data:表示要传入的数据,包括ndarray,series,map,lists,dict,constant和另一个Dataframe。
参数index:行索引,若不手动赋值,将默认从0开始分配。格式为[’ x1’, ‘x2 ‘]
参数columns:列索引,若不手动赋值,将默认从0开始分配。格式为[’ x1’, 'x2 ']
参数dtype:每列的类型。
参数copy:可以写false或者true。从input输入中拷贝数据,默认是false,不拷贝。
如果想要创建一个空表,可以只写行索引和列索引,或者只写列索引。
4、获取表格中某行某列的元素值:
df.iloc[i, j]:i表示行序,j表示列序。按序值返回元素。
df.loc[行索引,列索引]:按索引返回元素。
5、python中的datetime库中的datetime.now()表示系统本地时间
6、把数据写入到表格中:使用data.to_excel(‘excel-path’)。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/344468.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号