python最新版课后题第十四讲动动手第1题
1. 通常企业发放的年终奖是根据一年的盈利进行提成,A 公司的提成规则如下:2L1^C|=krntb&Sf4IjyD'P}_1sCG{pMV=
当利润低于或等于 10 万元时:年终奖为 10%
当利润高于 10 万元,低于 20 万元时:低于 10 万元的部分按 10% 提成,高于 10 万元的部分,按 7.5% 提成
当利润 20 万到 40 万之间时:低于 10 万元的部分按 10% 提成,高于 10 万元低于 20 万元的部分,按 7.5% 提成,高于 20 万元的部分,按 5% 提成
当利润 40 万到 60 万之间时:低于 10 万元的部分按 10% 提成;高于 10 万元低于 20 万元的部分,按 7.5% 提成;高于 20 万元低于 40 万元的部分,按 5% 提成;高于40万元的部分,按 3% 提成
当利润 60 万到 100 万之间时:低于 10 万元的部分按 10% 提成;高于 10 万元低于 20 万元的部分,按 7.5% 提成;高于 20 万元低于 40 万元的部分,按 5% 提成;高于40万元低于 60 万元的部分,按 3% 提成;高于60万元的部分,按 1.5% 提成
当利润高于 100 万元时:低于 10 万元的部分按 10% 提成;高于 10 万元低于 20 万元的部分,按 7.5% 提成;高于 20 万元低于 40 万元的部分,按 5% 提成;高于40万元低于 60 万元的部分,按 3% 提成;高于60万元低于 100 万的部分,按 1.5% 提成;超过 100 万元的部分按 1% 提成
请编写一个程序,根据录入的利润,计算出应该发放的奖金总数?
小甲鱼的答案:
profit = float(input("请输入今年的利润:"))
if profit <= 100000:
reward = profit * 0.1
elif 100000 < profit <= 200000:
reward = 100000 * 0.1 + (profit - 100000) * 0.075
elif 200000 < profit <= 400000:
reward = 100000 * 0.1 + 100000 * 0.075 + (profit - 200000) * 0.05
elif 400000 < profit <= 600000:
reward = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + (profit - 400000) * 0.03
elif 600000 < profit <= 1000000:
reward = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + (profit - 600000) * 0.015
else:
reward = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + 400000 * 0.015 + (profit - 1000000) * 0.01
print("应该发放的奖金总数是:", reward, sep='')
我的答案:
a = input("请输入今年的利润: ")
a = float(a)
if a <= 100000:
b = a * 0.1
elif 100000 < a <= 200000:
b = 100000 * 0.1 + (a - 100000) * 0.075
elif 200000 < a <= 400000:
b = 100000 * 0.1 + 100000 * 0.075 + (a - 200000) * 0.05
elif 400000 < a <= 600000:
b = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + (a - 400000)* 0.03
elif 600000 < a <= 10000000:
b = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + (a - 600000)* 0.015
else:
b = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + 400000 * 0.015 + (a - 1000000) * 0.01
print("应该发放的奖金总数是:", b)
计算式都一样,为什么我算不出正确答案?麻烦大佬帮忙看一下
本帖最后由 Daniel_Zhang 于 2021-1-23 18:01 编辑
就挺奇怪的,两个运行结果一模一样啊
你是不是自己输错了数字
每一轮测试中,上面小甲鱼的,下面你的{:10_248:}
第一轮测试
第二轮测试
两轮测试都是一模一样的结果啊 Daniel_Zhang 发表于 2021-1-23 17:59
就挺奇怪的,两个运行结果一模一样啊
你是不是自己输错了数字
盯得眼疼{:10_277:}不看了{:10_250:}
= RESTART: C:\Users\86158\AppData\Local\Programs\Python\Python38-32\第十四讲动动手第1题.py
请输入今年的利润: 1200000
应该发放的奖金总数是: 42500.0
我运算出来 昨非 发表于 2021-1-23 18:03
盯得眼疼不看了
我直接放 vscode 跑了两下{:10_278:}
小甲鱼的和楼主的运算结果一模一样的,就挺奇怪的{:10_257:}
怀疑是楼主自己在输入利润的时候,敲错了吧 请输入今年的利润:1200000
应该发放的奖金总数是:41500.0
这个是用小甲鱼的代码,不知道为什么用1200000代入就会不同 爱学习的番茄 发表于 2021-1-23 18:09
请输入今年的利润:1200000
应该发放的奖金总数是:41500.0
请仔细对比一下以下代码:
小甲鱼的:
elif 600000 < profit <= 1000000:
reward = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + (profit - 600000) * 0.015
你的:
elif 600000 < a <= 10000000:
b = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + (a - 600000)* 0.015
p.s 请认真对比一下elif 的判断条件,看看有什么不同,数值上的{:10_266:}
页:
[1]