page contents

python基础编程100例:第17期—奖金计算

本文讲述了python基础编程100例:第17期—奖金计算!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:

attachments-2022-03-aAsGj0L5622e9e17c9445.png

本文讲述了python基础编程100例:第17期—奖金计算!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:

第17期—奖金计算

1 问题描述

企业发放的奖金根据利润提成。

利润低于或等于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%提成


attachments-2022-03-yhkO9kDl622e9df3bc9b9.png

输入利润,求应发放奖金总数~


2 解题思路

首先用input函数获取用户输入的利润总额

然后根据奖金提成比例计算奖金

最后输出计算结果

3 解题方法

方法一

profit = float(input("请输入利润,单位为万元:"))

assert profit >= 0, "请输入非负数!"


if profit <= 10:

    bonus = profit * 0.1

elif 10 < profit <= 20:

    bonus = 10 * 0.1 + (profit-10) * 0.075

elif 20 < profit <= 40:

    bonus = 10 * 0.1 + 10 * 0.075 + (profit-20) * 0.05

elif 40 < profit <= 60:

    bonus = 10 * 0.1+ 10 * 0.075 + 20 * 0.05 + (profit-40) * 0.03

elif 60 < profit <= 100:

    bonus = 10 * 0.1+ 10 * 0.075 + 20 * 0.05 + 20 * 0.03 + (profit-60) * 0.015

else:

    bonus = 10 * 0.1 + 10 * 0.075 + 20 * 0.05 + 20 * 0.03 + 40 * 0.015 + (profit-100) * 0.01

    print(f"奖金为{bonus:0.2f}万元")


第1行: 用input函数获取用户输入的利润总额,float函数转化为浮点数,赋值给变量profit

第2行: 用assert断言函数限定变量profit大于0,若大于0,执行后面的代码,否则报错“AssertionError: 请输入非负数!”

第4-15行: 用if...elif...else语句对用户输入的利润总额进行判断,根据奖金提成比例计算奖金

第17行: print函数输出最终计算结果,保留两位小数


方法二

profit = float(input("请输入利润,单位为万元:"))

assert profit >= 0, "请输入非负数!"


bonus = 0

value = [100, 60, 40, 20, 10, 0]

rates = [0.01, 0.015, 0.03, 0.05, 0.075, 0.1]

for i in range(6):

    if profit > value[i]:

        temp = (profit - value[i]) * rates[i]

        bonus += temp

        profit = value[i]

print(f"奖金为{bonus:0.2f}万元")


第1行: 用input函数获取用户输入的利润总额,float函数转化为整型,赋值给变量profit

第2行: 用assert断言函数限定变量profit大于0,若大于0,执行后面的代码,否则报错“AssertionError: 请输入非负数!”

第4行: 创建存储奖金总额的变量bonus,初始赋值为0

第5行: 创建列表value,传入的参数为利润的界限值

第6行: 创建列表rates, 传入的参数为对应的奖金提成比例

第7行: 由于列表value共有6个参数,即利润总额划分为6个档位,用for循环遍历value这一列表中每一个元素的索引值

第8行: 当用户输入的利润总额大于列表value中的利润值时,进入循环

第9行: 通过列表的索引,计算每一个档位的奖金

第10行: 在每次循环中,每个档位的奖金temp与变量bonus相加,并将求和结果再赋值给变量bonus

第11行: 为变量 profit 赋值为value[i],直到变量 profit不满足条件,退出循环

第12行: print函数输出最终计算结果,保留两位小数


以利润 105 万为例

第一次循环,i = 0,

temp = (105 - 100) * 0.01 = 5 * 0.01

bomus = 0 + 5 * 0.01

profit = 100

第二次循环,i = 1,

temp = (100 - 60) * 0.015 = 40 * 0.015

bomus = 0 + 5 * 0.01 + 40 * 0.015

profit = 60

第三次循环,i = 2,

temp = (60 - 40) * 0.03= 20 * 0.03

bomus = 0 + 5 * 0.01 + 40 * 0.015 + 20 * 0.03

profit = 40

第四次循环,i = 3,

temp = (40 - 20) * 0.05= 20 * 0.05

bomus = 0 + 5 * 0.01 + 40 * 0.015 + 20 * 0.03 + 20 * 0.05

profit = 20

第五次循环,i = 4,

temp = (20 - 10) * 0.075= 10 * 0.075

bomus = 0 + 5 * 0.01 + 40 * 0.015 + 20 * 0.03 + 20 * 0.05 + 10 * 0.075

profit = 10

第六次循环,i = 5,

temp = (10 - 0) * 0.1= 10 * 0.1

bomus = 0 + 5 * 0.01 + 40 * 0.015 + 20 * 0.03 + 20 * 0.05 + 10 * 0.075 + 10 * 0.1

profit = 0

退出循环

更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情。

如果你想用Python开辟副业赚钱,但不熟悉爬虫与反爬虫技术,没有接单途径,也缺乏兼职经验
关注下方微信公众号:Python编程学习圈,获取价值999元全套Python入门到进阶的学习资料以及教程,还有Python技术交流群一起交流学习哦。

attachments-2022-06-yWZsAXTE62b2df644b1f2.jpeg

  • 发表于 2022-03-14 09:45
  • 阅读 ( 1914 )
  • 分类:Python开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
轩辕小不懂
轩辕小不懂

2403 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1658 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章