大神帮忙解答一下,这里为什么输入150000就执行不出结果了
yye = int(input('请输入当年的营业额:'))
if yye <= 100000:
nzj = yye * 0.1
print('该年年终奖提成为',nzj)
elif 100000 > yye > 200000:
nzj = 100000 * 0.1 + (yye - 100000) * 0.075
print('该年年终奖提成为',nzj)
elif 200000 >= yye > 400000:
nzj = 100000 * 0.1 + 100000 + 0.075 + (yye - 100000) * 0.05
print('该年年终奖提成为',nzj)
elif 400000 >= yye > 600000:
nzj = 100000 * 0.1 + 100000 + 0.075 + 200000 * 0.05 + (yye - 400000) * 0.03
print('该年年终奖提成为',nzj)
elif 600000 >= yye > 1000000:
nzj = 100000 * 0.1 + 100000 + 0.075 + 200000 * 0.05 + 200000 * 0.03 + (yye - 400000) * 0.015
print('该年年终奖提成为',nzj)
elif yye >= 1000000:
nzj = 100000 * 0.1 + 100000 + 0.075 + 200000 * 0.05 + 200000 * 0.03 + 400000 * 0.015 + (yye - 1000000) * 0.01
print('该年年终奖提成为',nzj)
else:
print('输入错误!')
elif 100000 > yye > 200000:
你150000带进公式算一算不等式成立不成立 你的这个不等号的方向基本上都是错的 本帖最后由 crazyAnonymous 于 2021-3-30 06:00 编辑
你的代码错了:
比如:elif 100000 > yye > 200000:
上面的代码是什么意思?
yye 大于 200000 小于100000
这样一来, 当 yye = 150000 时 除了else以外,所有条件都不成立
你应该将大于号改为小于号
像这样:
yye = int(input('请输入当年的营业额:'))
if yye <= 100000:
nzj = yye * 0.1
print('该年年终奖提成为', nzj)
elif 100000 < yye < 200000:
nzj = 100000 * 0.1 + (yye - 100000) * 0.075
print('该年年终奖提成为', nzj)
elif 200000 <= yye < 400000:
nzj = 100000 * 0.1 + 100000 + 0.075 + (yye - 100000) * 0.05
print('该年年终奖提成为', nzj)
elif 400000 <= yye < 600000:
nzj = 100000 * 0.1 + 100000 + 0.075 + 200000 * 0.05 + (yye - 400000) * 0.03
print('该年年终奖提成为', nzj)
elif 600000 <= yye < 1000000:
nzj = 100000 * 0.1 + 100000 + 0.075 + 200000 * 0.05 + 200000 * 0.03 + (yye - 400000) * 0.015
print('该年年终奖提成为', nzj)
elif yye <= 1000000:
nzj = 100000 * 0.1 + 100000 + 0.075 + 200000 * 0.05 + 200000 * 0.03 + 400000 * 0.015 + (yye - 1000000) * 0.01
print('该年年终奖提成为', nzj)
else:
print('输入错误!')
这道题我也做过:
a =
b =
bonus = 0
profit = float(input('请输入本月利润:'))
for i in range(0, 6):
b = float(b)
if profit > b:
profit_0 = profit - b
profit -= profit_0
bonus += profit_0 * a
print('奖金为%f' % bonus)
你也可以做一下 crazyAnonymous 发表于 2021-3-30 05:54
你的代码错了:
比如:elif 100000 > yye > 200000:
上面的代码是什么意思?
b=float(b),报错 haoliang9324 发表于 2021-3-30 07:32
b=float(b),报错
抱歉, 我不知道为什么我在pycharm中复制过来以后错了
a =
b =
bonus = 0
profit = float(input('请输入本月利润:'))
for i in range(0, 6):
b = float(b)
if profit > b:
profit_0 = profit - b
profit -= profit_0
bonus += profit_0 * a
print('奖金为%f' % bonus)
这个可以了,我试过. 把>全部改成< 乍一看,确实没问题,但是细细一看,确实有问题,表达式列错了,<>这个写反了 本帖最后由 傻眼貓咪 于 2021-9-5 16:17 编辑
def bonus(amount):
interest = {
1000000: 0.01,
600000: 0.015,
400000: 0.03,
200000: 0.05,
100000: 0.075,
0: 0.1
}
arr = []
for m in interest.keys():
if amount >= m and m:
bal = amount-m
arr.append(bal*interest)
amount = amount-bal
elif not m:
arr.append(amount*interest)
return sum(arr)
print(bonus(1234500))
41845.0
页:
[1]