解题思路:

如果没完没了怎么办?

我们构造一个函数,一个名为 `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.0分

5 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论