解题思路:
如果没完没了怎么办?
我们构造一个函数,一个名为 `run` 的函数。
创建了一个列表 `ranges`,其中包含了多个元组。每个元组包含两个值,第一个值是利润上限 `limit`,第二个值是对应的提成率 `rate`。这些元组表示了不同的利润范围和对应的提成率。
`for limit, rate in ranges:`:这一行启动了一个循环,用于遍历 `ranges` 列表中的元组,其中 `limit` 表示利润上限,`rate` 表示提成率。
`if profit <= limit:`:这一行检查当前的利润 `profit` 是否小于或等于当前范围的上限 `limit`。
如果 `profit` 小于或等于 `limit`,表示当前范围足够覆盖利润,那么计算当前范围内的奖金,并将其累加到 `bonus` 中,然后使用 `break` 退出循环,因为已经计算完奖金。
如果 `profit` 大于 `limit`,表示当前范围不够覆盖全部利润,那么计算当前范围内的奖金,并将其累加到 `bonus` 中,然后从 `profit` 中减去当前范围的上限 `limit`,以便在下一次迭代中处理剩余的利润。
总之,这段代码用于根据不同的利润范围和提成率计算奖金,并最得出计算得到的奖金。
注意事项:
参考代码:
def run(profit):
x=100000
bonus = 0
ranges = [(x, 0.10), (x, 0.075), (2*x, 0.05), (2*x, 0.03), (4*x,0.015), (float('inf'), 0.01)]
for limit, rate in ranges:
if profit <= limit:
bonus += profit * rate
break
else:
bonus += limit * rate
profit -= limit
return bonus
profit = float(input())
result = run(profit)
print(int(result))
0.0分
2 人评分
C语言程序设计教程(第三版)课后习题7.4 (Java代码)浏览:842 |
最小公倍数 (C语言代码)浏览:863 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:575 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:1162 |
WU-整数平均值 (C++代码)浏览:1244 |
WU-C语言程序设计教程(第三版)课后习题12.1 (C++代码)浏览:940 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:594 |
Hello, world! (C++代码)浏览:1744 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:326 |
震宇大神的杀毒软件 (C语言代码)浏览:1080 |