網絡奇人怪小四 发表于 2022-12-15 19:17:05

小魚c第14講:了不起的分支循環i功課一問

""" 通常企业发放的年终奖是根据一年的盈利进行提成,A 公司的提成规则如下:
当利润低于或等于 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 = int(input("請輸入利潤: "))      #用戶輸入利潤數目&int化

if profit <= 100000:                #当利润低于或等于10万元时
      print("應該發放的獎金總數為:",profit*0.1)      #年终奖为10%
      
elif profit > 100000 and profit <= 200000:      #当利润高于10万元, 低于20万元时
      print("應該發放的獎金總數為:",((profit-100000)*0.075)+(100000*0.1))                #高于10万元的部分, 按7.5%提成, 低于10万元的部分按10%提成.
      
elif profit > 200000 and profit <= 400000:                #当利润20万到40万之间时
      print("應該發放的獎金總數為:",((profit-200000)*0.05)+(100000*0.075)+(100000*0.1))      #高于20万元的部分,按5%提成, 高于10万元低于20万元的部分,按7.5%提成, 低于10万元的部分按10%提成.
      
elif profit > 400000 and profit <= 600000:                #当利润40万到60万之间时
      print("應該發放的獎金總數為:",((profit-400000)*0.03)+(200000*0.05)+(100000*0.075)+(100000*0.1))      #高于40万元的部分, 按3%提成, 高于20万元低于40万元的部分, 按5%提成. 高于10万元低于20万元的部分, 按7.5%提成. 低于10万元的部分按10%提成.
      
elif profit > 600000 and profit <= 10000000:                #当利润60万到100万之间时
      print("應該發放的獎金總數為:",((profit-600000)*0.015)+(200000*0.03)+(200000*0.05)+(100000*0.075)+(100000*0.1))                #高于60万元的部分,按1.5%提成. 高于40万元低于60万元的部分,按3%提成. 高于20万元低于40万元的部分,按5%提成. 高于10万元低于20万元的部分,按7.5%提成. 低于10万元的部分按10%提成.
      
elif profit >1000000:      #当利润高于 100 万元时
      print("應該發放的獎金總數為:",((profit-1000000)*0.01)+(400000*0.015)+(200000*0.03)+(200000*0.05)+(100000*0.075)+(100000*0.1))      #超过 100 万元的部分按1%提成. 高于60万元低于100万的部分,按1.5%提成;高于40万元低于60万元的部分,按3%提成;高于20万元低于40万元的部分,按5%提成;高于10万元低于20万元的部分,按7.5%提成;低于10万元的部分按10%提成;

按題目已經寫好代碼, 但問題是題目打1200000入去會出41500, 我的代碼會出42500, 請問我那里出錯呢!?找了半天都找不到 = =?

lxping 发表于 2022-12-15 19:34:20

下面这一句的条件profit <= 10000000,多了一个0,你输入1200000,程序就执行了这一句,所以结果不对
elif profit > 600000 and profit <= 10000000:
改成
elif profit > 600000 and profit <= 1000000:

網絡奇人怪小四 发表于 2022-12-15 19:43:25

lxping 发表于 2022-12-15 19:34
下面这一句的条件profit

原來犯了這些低級錯誤, 你為什麼會馬上找到出來, 我找了半天都找不到 = =!?

lxping 发表于 2022-12-15 19:51:42

網絡奇人怪小四 发表于 2022-12-15 19:43
原來犯了這些低級錯誤, 你為什麼會馬上找到出來, 我找了半天都找不到 = =!?

比预期结果大,说明条件执行不对

網絡奇人怪小四 发表于 2022-12-15 20:18:32

lxping 发表于 2022-12-15 19:51
比预期结果大,说明条件执行不对

對,可能自已太粗心了
页: [1]
查看完整版本: 小魚c第14講:了不起的分支循環i功課一問