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 * 50if sal > 26000:sal = 26000df1.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’)。

python实现教师工资调整程序相关推荐

  1. PYTHON DJANGO开发工资查询系统

    本项目是一个教师工资管理/查询系统,分为管理员后台和用户查询后台. 管理员后台可以新增用户和工资明细,还可以查看登录日志. 用户可以在输入账号密码后查询自己每个月的工资情况. 1创建web服务器: 使 ...

  2. ★教师工资为什么这么低?/整理

    关于教师工资为什么低的原因,有很多人都在问,也有很多不同的答案. " 一:行业本质 在形式上,教育是由国家支持的产业,公办教育机构属于国家事业单位编制,校长有行政级别.这是我们在这个时代所看 ...

  3. python平均工资-杭州Python开发平均工资高不高?

    Python开发平均工资高不高?这要看Python在IT领域是否受欢迎.当下,Python被认为是现阶段人工智能技术的首选编程语言.在不久的将来这种开源动态脚本语言会成为第一种真正意义上的编程世界语, ...

  4. ★教师工资为什么这么低?

    教师工资为什么这么低? 一点号教师帮2016.9.21 wemedia true 关于教师工资为什么低的原因,有很多人都在问,也有很多不同的答案,小磊哥下面就把这些不同的解释整理在一起,供老师们看一下 ...

  5. 月薪多少_教师月薪多少?全国各地教师工资表来了

    关于教师工资待遇,一直存在热议,全国各地教师工资差别很大,很多人都说需要提高教师工资水平,虽然国家也相继推出各类改革措施,但是具体实施难度很大. 教师月薪多少? 教师工资包括基本工资+工龄工资+绩效工 ...

  6. python工资一般多少-Python开发的工资一般多少

    原标题:Python开发的工资一般多少 Python开发的工资一般多少?要想知道Python开发的工资,就要先看看Python开发工程师的发展前景怎么样.Python的用武之地很多,它可读性好且开发效 ...

  7. 使用python定义简单工资扣税实际收入函数

    def func(salary):if salary<=5000:tax=0elif salary<=10000:tax=(salary-5000)*0.05else:tax=(salar ...

  8. 教师工资管理系统C语言课程设计

    教师工资管理系统 1.问题描述 每个教师的信息为:教师号.姓名.性别.单位名称.家庭住址.联系电话.基本工资.津贴.生活补贴.应发工资.电话费.水电费.房租.所得税.卫生费.公积金.合计扣款.实发工资 ...

  9. Python简陋版工资管理系统

    题目: Python简陋版工资管理系统 要求: 彦 100000 盖伦 80000 莫甘娜 50000 赵信 30000 -----以上是info.txt文件----- 实现效果: 从info.txt ...

最新文章

  1. C#事件-使用事件需要的步骤
  2. PL/SQL DEVELOPER 使用小技巧
  3. .Net(C#)用正则表达式清除HTML标签(包括script和style),保留纯本文(UEdit中编写的内容上传到数据库)...
  4. error: missing or invalid dependency detected while loading class file 'RDD.class'.
  5. 查询大于2分钟的数据
  6. 当身为老师的爸爸上课时......​
  7. 案例展示自定义C函数的实现过程
  8. Flume监控几种方式
  9. Apache httpd 安装
  10. sql server 新语法 收藏
  11. JVM,DVM,JIT,AOT,ART理解
  12. 使用浏览器检查工具下载网页视频
  13. 无线路由器CE认证是什么
  14. Visual Studio2019配置备忘
  15. 微信小程序实现城市搜索功能(付源码)
  16. 4g内存php一般开多少个进程,Linux_4G内存服务器epoll并发量最大能达到多少?,按照题主的意思 是根据内存去 - phpStudy...
  17. Oracle 计算起始日期之间的工作日天数(目前只支持同一年)
  18. termux python_【小白教程】Termux实现安卓手机Python编程
  19. 微信小程序开发错误代码
  20. 分享Silverlight/Windows8/WPF/WP7/HTML5周学习导读(6月18日-6月24日)

热门文章

  1. 万事开头难,全英文???别怕有我!!!
  2. 使用 Authing + Lambda 替代 AWS Cognito
  3. Java 使用 POI 操作 XWPFDocument 中的 XWPFParagraph
  4. LCD(五)Backlight背光子系统
  5. Java项目中使用频率最高的100个类
  6. 关于我国《高等数学》》教学大纲 的比较研究
  7. 记录一个CentOS 6版本中,yum install 命令无法实现的问题 # 谭子
  8. SVG滤镜+阴影+渐变--学习笔记
  9. 苹果包重新签名及更换包名
  10. 如何用3个月零基础入门网络安全?