前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python-100 练习题 02

Python-100 练习题 02

作者头像
kbsc13
发布2019-08-16 11:35:46
6860
发布2019-08-16 11:35:46
举报
文章被收录于专栏:AI 算法笔记AI 算法笔记

2019年第 10 篇文章,总第 34 篇文章

练习题2 的网址:

http://www.runoob.com/python/python-exercise-example2.html


Example-2 企业发放奖金

题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

思路

这道题目可以根据每个奖金发放区间来分界,先分别定义两个数组,一个数组是存放每个区间奖金的提成比例,记为rat;另一个数组是记录每个发放区间的上边界,表示当超过该边界时候,直接利用上边界乘以该区间的提成比例,例如对于在 10 万元以下的这个区间,就是上边界为 10 万,然后超过后,该区间发放奖金就是100000*0.1

然后我们先考虑利润超过 100 万的情况,依次降低利润,对应每种情况。

代码实现
代码语言:javascript
复制
def pay_award():
    profit = int(input('净利润:'))
    arr = [1000000, 600000, 400000, 200000, 100000, 0]
    rat = [0.01, 0.015, 0.03, 0.05, 0.075, 0.1]
    r = 0
    for idx in range(0, 6):
        if profit > arr[idx]:
            # 当前区间的利润
            r += (profit - arr[idx]) * rat[idx]
            print('current award=', (profit - arr[idx]) * rat[idx])
            # 重置下一个区间起始奖金数量
            profit = arr[idx]
    return r

简单的测试例子:

代码语言:javascript
复制
# 利润是 11000
净利润:11000
current award= 1100.0
award= 1100.0

# 利润是 1100000 (110万)
净利润:1100000
current award= 1000.0
current award= 6000.0
current award= 6000.0
current award= 10000.0
current award= 7500.0
current award= 10000.0
award= 40500.0

源代码在:

https://github.com/ccc013/CodesNotes/blob/master/Python_100_examples/example2.py

或者点击原文,也可以查看源代码。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-01-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法猿的成长 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Example-2 企业发放奖金
    • 思路
      • 代码实现
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档