IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python实现教师工资调整程序 -> 正文阅读

[Python知识库]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’)。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-10-23 12:25:47  更:2021-10-23 12:27:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 20:57:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码