可乐a 发表于 2022-3-12 17:20:41

请问为什么这个代码的输出和小甲鱼的不同

1. 通常企业发放的年终奖是根据一年的盈利进行提成,A 公司的提成规则如下:2L1^C|=kr
ntb&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% 提成

请编写一个程序,根据录入的利润,计算出应该发放的奖金总数?


这是我的:
money=input("请输入今年的利润:")
money=float(money)

if money<100000:
    porfit=money*0.1
elif 100000<money<200000:
    porfit=(100000*0.1)+((money-100000)*0.075)
if 200000<money<400000:
    porfit=(100000*0.1)+((200000-100000)*0.075)+((money-200000)*0.05)
elif 400000<money<600000:
    porfit=(100000*0.1)+((200000-100000)*0.075)+((400000-200000)*0.05)+((money-400000)*0.03)
if 600000<money<1000000:
    porfit=(100000*0.1)+((200000-100000)*0.075)+((400000-200000)*0.05)+((6000000-400000)*0.03)+((money-600000)*0.015)
elif money>1000000:
    porfit=(100000*0.1)+((200000-100000)*0.075)+((400000-200000)*0.05)+((6000000-400000)*0.03)+((1000000-600000)*0.015)+((money-1000000)*0.01)

print("应该发的奖金数是:",porfit)



这是小甲鱼的:
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='')



图片第一个是我的输出第二个是小甲鱼的输出

isdkz 发表于 2022-3-12 17:31:08

本帖最后由 isdkz 于 2022-3-12 17:33 编辑

你的代码中

money=input("请输入今年的利润:")
money=float(money)

if money<100000:
    porfit=money*0.1
elif 100000<money<200000:
    porfit=(100000*0.1)+((money-100000)*0.075)
if 200000<money<400000:
    porfit=(100000*0.1)+((200000-100000)*0.075)+((money-200000)*0.05)
elif 400000<money<600000:
    porfit=(100000*0.1)+((200000-100000)*0.075)+((400000-200000)*0.05)+((money-400000)*0.03)
if 600000<money<1000000:
    porfit=(100000*0.1)+((200000-100000)*0.075)+((400000-200000)*0.05)+((6000000-400000)*0.03)+((money-600000)*0.015)
elif money>1000000:
    porfit=(100000*0.1)+((200000-100000)*0.075)+((400000-200000)*0.05)+((6000000-400000)*0.03)+((1000000-600000)*0.015)+((money-1000000)*0.01)

print("应该发的奖金数是:",porfit)


红色的 0 是多的,60万 写成了 600 万

可乐a 发表于 2022-3-12 18:24:23

isdkz 发表于 2022-3-12 17:31
你的代码中

money=input("请输入今年的利润:")


好的,谢谢你,打代码的时候打晕了现在解决了
页: [1]
查看完整版本: 请问为什么这个代码的输出和小甲鱼的不同