Python编程经典案例【考题】公司奖金发放
2023-06-13 09:15:01 时间
本文和你一起探索Python编程经典案例,让你沉浸式学习Python。
你可以拿着题目先思考,然后再对照本文解题方法进行比较。有不同的见解欢迎到公众号中跟我一起探讨。
本文目录
- 经典案例【考题】
- 经典案例解题方法 2.1 应用if循环分层计算提成 2.1 应用列表和for循环计算提成
一、经典案例【考题】
问题:企业发放的奖金根据利润分成,利润小于等于10万元时,奖金可提10%。利润大于10万,小于等于50万时,低于10万的部分按10%提成,高于10万的部分,按8%提成。利润高于50万,小于等于100万时,高于50万的部分,按6%提成。利润高于100万,小于等于200万时,高于100万的部分,按4%提成。利润高于200万,小于等于500万时,高于200万的部分,按2%提成。利润高于500万,按1%提成。
输入:
个人年度利润90000元
输出:
提成9000元
二、经典案例解题方法
1 方法一:应用if循环分层计算提成
上述案例第一种解题思路为:
- step1:应用if循环判断个人利润属于哪一个档次。
- step2:根据档次分阶段计算提成额再求和。
具体代码如下:
profit = int(input('请输入个人年度利润单位元'))
def pfit_sep(profit):
bonus = 0
if profit<=100000:
bonus = profit*0.1
elif profit<=500000:
bonus = 100000*0.1 + (profit-100000)*0.08
elif profit<=1000000:
bonus = 100000*0.1 + (500000-100000)*0.08 + (profit-500000)*0.06
elif profit<=2000000:
bonus = 100000*0.1 + (500000-100000)*0.08+ (1000000-500000)*0.06 + (profit-1000000)*0.04
elif profit<=5000000:
bonus = 100000*0.1 + (500000-100000)*0.08+ (1000000-500000)*0.06 + (2000000-1000000)*0.04 + (profit-2000000)*0.02
elif profit>5000000:
bonus = 100000*0.1 + (500000-100000)*0.08+ (1000000-500000)*0.06 + (2000000-1000000)*0.04 + (5000000-2000000)*0.02 + (profit-5000000)*0.01
return '提成' + str(bonus) + '元'
pfit_sep(profit)
input('请输入个人年度利润单位元'):手动输入个人年度利润。
若手动输入个人年度利润为90000,得到结果:
'提成9000.0元'
可以手动验证结果是对的。
该方法的优点是逻辑简单,理解起来比较清晰。缺点是太过繁琐,有些可以省略的地方一直在重复。
2 方法二:应用列表和for循环计算提成
上述案例第二种解题思路为:
- step1:把不同层次的利润节点和计算提成的比例存放到列表中。
- step2:应用if语句判断个人利润所处的位置,再结合for循环计算最终提成。
具体代码如下:
profit = int(input('请输入个人年度利润单位元'))
def pfit_sep1(profit):
bonus = 0
pfit_array = [5000000, 2000000, 1000000, 500000, 100000, 0]
rat = [0.01, 0.02, 0.04, 0.06, 0.08, 0.1]
for i in range(len(pfit_array)):
if profit>pfit_array[i]:
bonus += (profit - pfit_array[i])*rat[i]
profit = pfit_array[i]
return '提成' + str(bonus) + '元'
pfit_sep1(profit)
若手动输入个人年度利润为300000,得到结果:
'提成26000.0元'
可以手动验证结果是对的。该方法的优点是代码简洁,缺点是逻辑理解起来比较困难。
至此,Python中的编程经典案例【考题】公司奖金发放已讲解完毕。
相关文章
- python+pytorch_pytorch linear函数
- python实现矩阵的转置_Python实现矩阵转置的方法分析
- python格式化转换_Python进制转换format格式化[通俗易懂]
- python人工智能学习笔记_[Python] 人工智能与自然语言处理学习笔记(1)[通俗易懂]
- Python入门系列(十一)一篇搞定python操作MySQL数据库
- python中dtype的使用规范_Python numpy.dtype() 使用实例
- python截图识别文字_Python文字截图识别OCR工具实例解析
- 【菜鸟学Python】案例一:汇率换算「建议收藏」
- java与python-如何对比Python和Java,只需三分钟告诉你!
- 【说站】python中waitKey如何使用
- 【说站】python网页中下拉框的操作
- Python自动化运维1
- 【测试开发】python系列教程:第一个Python程序
- Python:利用python代码编程实现将视频的avi格式转换为MP4格式
- python上的表白代码_用Python实现表白代码
- python 图像处理库_Python图像处理库
- python制作自动交易程序_Python如何实现自动化交易
- 让你彻底弄懂Python编程经典案例【考题】之反转一个值
- 热加载技术:修改Python代码并实时查看结果 ⛵
- Python 基于xml.etree.ElementTree实现XML对比
- 【Python】Python 字面量 ( Python 数据类型 | Python 字面量含义 | 使用 print 函数输出字面量 )
- Python开发系列课程(19) – 数据可视化详解编程语言
- 小白的Python之路 day5 shelve模块讲解详解编程语言
- Python简易操作MySQL数据库指南(python操作mysql数据库)
- python使用Python轻松操作Redis(redis-)
- 一步步学习:利用Python连接MySQL数据库(python连接mysql数据库)
- Python如何使用MySQL构建立连接(python怎么连接mysql)
- python正则式使用心得
- python使用urllib2模块获取gravatar头像实例
- python访问sqlserver示例