本文和你一起探索Python编程经典案例,让你沉浸式学习Python。你可以拿着题目先思考,然后再对照本文解题方法进行比较。有不同的见解欢迎到公众号中跟我一起探讨。
  

文章目录

  • 一、经典案例【考题】
  • 二、经典案例解题方法
    • 1 方法一:应用if循环分层计算提成
    • 2 方法二:应用列表和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 = 0if profit<=100000:bonus = profit*0.1elif profit<=500000:bonus = 100000*0.1 + (profit-100000)*0.08       elif profit<=1000000:bonus = 100000*0.1 + (500000-100000)*0.08 + (profit-500000)*0.06elif profit<=2000000:bonus = 100000*0.1 + (500000-100000)*0.08+ (1000000-500000)*0.06 + (profit-1000000)*0.04elif profit<=5000000:bonus = 100000*0.1 + (500000-100000)*0.08+ (1000000-500000)*0.06 + (2000000-1000000)*0.04 + (profit-2000000)*0.02elif 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.01return '提成' + str(bonus) + '元'
pfit_sep(profit)

input(‘请输入个人年度利润单位元’):手动输入个人年度利润。
  
若手动输入个人年度利润为90000,得到结果:

'提成9000.0元'

可以手动验证结果是对的。该方法的优点是逻辑简单,理解起来比较清晰。缺点是太过繁琐,有些可以省略的地方一直在重复。

  

2 方法二:应用列表和for循环计算提成

  
上述案例第二种解题思路为:
  
step1:把不同层次的利润节点和计算提成的比例存放到列表中。
  
step2:应用if语句判断个人利润所处的位置,再结合for循环计算最终提成。
  
具体代码如下:

profit = int(input('请输入个人年度利润单位元'))
def pfit_sep1(profit):bonus = 0pfit_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中的函数,可以翻看公众号中“学习Python”模块相关文章。
  
你可能感兴趣:
用Python绘制皮卡丘
用Python绘制词云图
用Python绘制520永恒心动
Python人脸识别—我的眼里只有你
Python画好看的星空图(唯美的背景)
【Python】情人节表白烟花(带声音和文字)
用Python中的py2neo库操作neo4j,搭建关联图谱
Python浪漫表白源码合集(爱心、玫瑰花、照片墙、星空下的告白)

Python编程经典案例【考题】公司奖金发放相关推荐

  1. Python编程经典案例【考题】自由落体运动球的运动轨迹

    本文和你一起探索Python编程经典案例,让你沉浸式学习Python.助你期末考试拿高分,拿到大厂的心仪offer.你可以先自己拿着题目去思考有多少种不同的解题方法,然后再对照本文解题方法进行比较.有 ...

  2. Python编程经典案例【考题】求某个范围内能被3整除且能被5整除的所有数,及这些数的和

    本文和你一起探索Python编程经典案例,让你沉浸式学习Python.你可以拿着题目先思考,然后再对照本文解题方法进行比较.有不同的见解欢迎到公众号中跟我一起探讨.    文章目录 一.经典案例[考题 ...

  3. Python编程经典案例【考题】排列组合

    本文和你一起探索Python编程经典案例,让你沉浸式学习Python.你可以拿着题目先思考,然后再对照本文解题方法进行比较.有不同的见解欢迎到公众号中跟我一起探讨. 文章目录 一.经典案例[考题] 二 ...

  4. 让你彻底弄懂Python编程经典案例【考题】之反转一个值

    学习Python有很多不同的方法,可以看视频.看博客.看公众号等.但光说不练,很难有快速的提升.最好能动手去处理实际问题,这样才能把学到的知识应用得更熟练.    本文和你一起来探索Python编程的 ...

  5. python编程经典案例-精心整理!9个 Python 实用案例分享

    1. 整理字符串输入 整理用户输入的问题在编程过程中极为常见.通常情况下,将字符转换为小写或大写就够了,有时你可以使用正则表达式模块「Regex」完成这项工作.但是如果问题很复杂,可能有更好的方法来解 ...

  6. python编程经典案例-一个非常适合Python新手的编程案例——投票小程序

    想快速入门Python,实战才是捷径. 前面给大家介绍了新手学习Python最重要的一点,就是多动手,多练习,在实战中才能快速进阶.那么通常一个好的实战案例是会让大家的学习事半功倍的.假如你现在刚刚学 ...

  7. Visual C++网络编程经典案例详解 第9章 实用播放器 数据读取与播放控制 识别数据文件信息

    识别数据文件信息主要是指对mp3数据格式识别 定义顺序代码如下 typedef struct mp3_struct //自定义mp3结构体 {char heade[3]; //tag字符标记char ...

  8. Python机器学习经典案例实战-韦玮-专题视频课程

    Python机器学习经典案例实战-3710人已学习 课程介绍         Python在机器学习领域应用是非常广泛的,比如,我们可以使用机器学习进行验证码识别,使用机器学习实现计算机视觉项目,或者 ...

  9. 基于python的数据分析系统,python数据分析经典案例

    大家好,本文将围绕利用python进行数据分析案例展开说明,基于python的数据分析系统是一个很多人都想弄明白的事情,想搞清楚基于python的数据分析题目需要先了解以下几个事情. 1.如何利用py ...

最新文章

  1. python 设计模式 观察者_python设计模式之观察者模式
  2. Openwrt 刷机后配置WAN口,安装luci和设置中文、安装挂载USB存储。
  3. viso 画背景框_3分钟漫画教程 | Q版漫画少女线稿,画完暖暖的
  4. linux从i2c读取变量,I2C子系统之__I2C_first_dynamic_bus_num变量的相关分析
  5. yii2 modal弹窗之ActiveForm ajax表单异步验证
  6. IntelliJ idea 12的初次约会
  7. Android 保持Service不被Kill掉的方法--双Service守护 Android实现双进程守护
  8. 训练日志 2018.11.7
  9. 任务计划程序设置软件在电脑重启后启动
  10. 总结的Server.Mappath的用法
  11. 拓端tecdat|R语言时间序列:ARIMA / GARCH模型的交易策略在外汇市场预测应用
  12. 读书笔记——《电商产品经理-基于人、货、场、内容的产品设计攻略》
  13. redis mysql 雪崩_Redis缓存雪崩问题
  14. 公众号资源分享欢迎关注
  15. 关于网站性能优化,一张思维导图够了
  16. Revit二次开发2、RevitAPI、RevitAPIUI及Revit开发三大利器
  17. Golang垃圾回收机制详解
  18. USACO 2008 Jan Gold 3.Cell Phone Network 树形dp
  19. AFNetworking源码学习 1
  20. 如果你身边有程序员 今天对他好一点

热门文章

  1. 音乐播放器开发实例(可毕设含源码)
  2. 数学建模Word排版——细节决定成败
  3. 二项式定理的各种证明
  4. mysql oltp_OLTP应用之MySQL架构选型
  5. 关于c语言程序设计的想法,关于《C语言程序设计》学习的几点思考
  6. ios 每日签到功能,模拟连续签到和中断需要重新签到
  7. java 文件转十六进制_JAVA将文件转成十六进制字符串和十六进制字符串生成文件的方法...
  8. JetBrains旗下软件通用激活方法
  9. 记一次,继承出现的问题“cannot access its superclass”
  10. JSON 变量名为数字或数字开头的解决办法