鱼C论坛

 找回密码
 立即注册
查看: 2045|回复: 4

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

[复制链接]
发表于 2022-12-15 19:17:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
""" 通常企业发放的年终奖是根据一年的盈利进行提成,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, 請問我那里出錯呢!?找了半天都找不到 = =?
最佳答案
2022-12-15 19:34:20
下面这一句的条件profit <= 10000000,多了一个0,你输入1200000,程序就执行了这一句,所以结果不对
elif profit > 600000 and profit <= 10000000:
改成
elif profit > 600000 and profit <= 1000000:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-12-15 19:34:20 | 显示全部楼层    本楼为最佳答案   
下面这一句的条件profit <= 10000000,多了一个0,你输入1200000,程序就执行了这一句,所以结果不对
elif profit > 600000 and profit <= 10000000:
改成
elif profit > 600000 and profit <= 1000000:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-12-15 19:43:25 | 显示全部楼层
lxping 发表于 2022-12-15 19:34
下面这一句的条件profit

原來犯了這些低級錯誤, 你為什麼會馬上找到出來, 我找了半天都找不到 = =!?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

比预期结果大,说明条件执行不对
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-12-15 20:18:32 | 显示全部楼层
lxping 发表于 2022-12-15 19:51
比预期结果大,说明条件执行不对

對,可能自已太粗心了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-25 07:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表