鱼C论坛

 找回密码
 立即注册
查看: 1494|回复: 6

[已解决]python最新版课后题第十四讲动动手第1题

[复制链接]
发表于 2021-1-23 17:45:17 | 显示全部楼层 |阅读模式

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

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

x
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% 提成

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

小甲鱼的答案:
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)

计算式都一样,为什么我算不出正确答案?麻烦大佬帮忙看一下
最佳答案
2021-1-23 17:59:34
本帖最后由 Daniel_Zhang 于 2021-1-23 18:01 编辑

就挺奇怪的,两个运行结果一模一样啊

你是不是自己输错了数字

每一轮测试中,上面小甲鱼的,下面你的

第一轮测试
截屏2021-01-23 17.58.27.png

第二轮测试
截屏2021-01-23 17.59.54.png

两轮测试都是一模一样的结果啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-1-23 17:59:34 | 显示全部楼层    本楼为最佳答案   
本帖最后由 Daniel_Zhang 于 2021-1-23 18:01 编辑

就挺奇怪的,两个运行结果一模一样啊

你是不是自己输错了数字

每一轮测试中,上面小甲鱼的,下面你的

第一轮测试
截屏2021-01-23 17.58.27.png

第二轮测试
截屏2021-01-23 17.59.54.png

两轮测试都是一模一样的结果啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-23 18:03:16 | 显示全部楼层
Daniel_Zhang 发表于 2021-1-23 17:59
就挺奇怪的,两个运行结果一模一样啊

你是不是自己输错了数字

盯得眼疼不看了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-23 18:04:57 | 显示全部楼层

= RESTART: C:\Users\86158\AppData\Local\Programs\Python\Python38-32\第十四讲动动手第1题.py
请输入今年的利润: 1200000
应该发放的奖金总数是: 42500.0

我运算出来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-23 18:05:46 | 显示全部楼层
昨非 发表于 2021-1-23 18:03
盯得眼疼不看了


我直接放 vscode 跑了两下

小甲鱼的和楼主的运算结果一模一样的,就挺奇怪的

怀疑是楼主自己在输入利润的时候,敲错了吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-23 18:09:17 | 显示全部楼层
请输入今年的利润:1200000
应该发放的奖金总数是:41500.0

这个是用小甲鱼的代码,不知道为什么用1200000代入就会不同
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-24 17:12:11 | 显示全部楼层
爱学习的番茄 发表于 2021-1-23 18:09
请输入今年的利润:1200000
应该发放的奖金总数是:41500.0

请仔细对比一下以下代码:

小甲鱼的:
  1. elif 600000 < profit <= 1000000:
  2.     reward = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + (profit - 600000) * 0.015
复制代码


你的:
  1. elif 600000 < a <= 10000000:
  2.     b = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + (a - 600000)* 0.015
复制代码


p.s 请认真对比一下elif 的判断条件,看看有什么不同,数值上的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-22 12:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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