python爱好者. 发表于 2021-12-18 11:44:40

Python新课中第14讲课后作业的最后一题,为什么会报错呢?

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


if li <= 100000:
    print("应该发放的奖金总数是:",li * 0.1)
elif li > 100000 and li < 200000:
    print("应该发放的奖金总数是:",(100000 * 0.1) + ((li - 100000) * 0.075))
elif li >= 200000 and li < 400000:
    print("应该发放的奖金总数是:",(100000 * 0.1) + (100000 * 0.075) + ((li - 200000) * 0.05))
elif li >= 400000 and li < 600000:
    print("应该发放的奖金总数是:",(100000 * 0.1) + (100000 * 0.075) + (200000 * 0.05) + ((li - 4000000) * 0.003)
elif li >= 600000 and li < 1000000:
          print("应该发放的奖金总数是:",(100000 * 0.1) + (100000 * 0.075) + (200000 * 0.05) + (200000 * 0.03) + ((li - 600000) * 0.015))
elif li >= 1000000:
          print("应该发放的奖金总数是:",(100000 * 0.1) + (100000 * 0.075) + (200000 * 0.05) + (200000 * 0.03) + (400000 * 0.015) + ((li - 1000000) * 0.01))
         



谁知道这个代码为什么会报错的,帮忙一下!重金感谢!!!{:10_281:} {:10_298:}

冬雪雪冬 发表于 2021-12-18 11:44:41

11行最后少一个右括号

python爱好者. 发表于 2021-12-18 11:45:15

{:10_269:}{:10_250:}

pythen3.8 发表于 2021-12-18 11:58:24

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='')

python爱好者. 发表于 2021-12-18 12:03:24

pythen3.8 发表于 2021-12-18 11:58
profit = float(input("请输入今年的利润:"))
   
if profit

为什么这样就不会报错了呢
{:10_257:}

傻眼貓咪 发表于 2021-12-18 12:23:39

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

target = {0: .1, 1e5: .075, 2e5: .05, 4e5: .03, 6e5: .015, 1e6: .01}

bonus = 0

for t in sorted(list(target.keys()), reverse = True):
        if profit > t:
                bonus += (profit-t)*target
                profit = t

print(f"应该发放的奖金总数是:{bonus}")

python爱好者. 发表于 2021-12-18 12:30:16

傻眼貓咪 发表于 2021-12-18 12:23


写的很好!可是我的程序哪里出错了呢{:10_254:}{:10_291:}

python爱好者. 发表于 2021-12-18 12:36:36

傻眼貓咪 发表于 2021-12-18 12:23


加油,你行的!

傻眼貓咪 发表于 2021-12-18 13:42:38

python爱好者. 发表于 2021-12-18 12:03
为什么这样就不会报错了呢

抱歉,我现在是用手机笔记本写代码,不能测试你的代码{:10_280:}

python爱好者. 发表于 2021-12-18 14:13:18

冬雪雪冬 发表于 2021-12-18 11:44
11行最后少一个右括号

不愧是大佬,这么细心!

python爱好者. 发表于 2021-12-18 14:13:58

傻眼貓咪 发表于 2021-12-18 13:42
抱歉,我现在是用手机笔记本写代码,不能测试你的代码

没事,你写的已经很好了!

槐月余八 发表于 2021-12-19 16:43:48

想问一下楼主怎么发悬赏贴啊?

python爱好者. 发表于 2021-12-19 18:50:26

槐月余八 发表于 2021-12-19 16:43
想问一下楼主怎么发悬赏贴啊?

发布时上面有几个选项,其间就有
页: [1]
查看完整版本: Python新课中第14讲课后作业的最后一题,为什么会报错呢?