马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 不二如是 于 2022-8-30 22:21 编辑
答案一:
I = float(input('输入利润:')) #小甲鱼:最简单的
if I > 1000000: bonus = 39500.0 + (I - 1000000) * 0.01
elif 600000 < I <= 1000000: bonus = 33500.0 + (I - 1000000) * 0.01
elif 400000 < I <= 600000: bonus = 27500.0 + (I - 400000) * 0.03
elif 200000 < I <= 400000: bonus = 17500.0 + (I - 200000) * 0.05
elif 100000 < I <= 200000: bonus = 10000.0 + (I - 100000) * 0.075
elif 100000 >= I > 0: bonus = I * 0.1
else:
print('一毛钱都不给你!')
try:
print(round(bonus, 2))
except:
print('就是不给你!')
答案二:
# 利润从大到小排,单位是万元
profits = [100, 60, 40, 20, 10, 0]
# 利润和提成都可以往上加元素
rates = [0.01 , 0.015, 0.03, 0.05, 0.075, 0.10]
if len(profits) != len(rates):
raise IndexError # 两个列表不同长度算法会失效,先报错
else:
pass # 防御性
def bonus_cal(profit):
"""根据利润计算奖金,跟所得税的超额累进同种形式"""
bonus = 0
for i in range(len(profits)):
# 开头确定利润的范围
if profit - profits[i] > 0:
bonus += (profit-profits[i])* rates[i] # 大于利润区域的部分
# 往后面奖金是固定的, 循环算完返回退出就是了
for j in range(i,len(profits)-1):
bonus += (profits[j]-profits[j+1]) * rates[j+1]
return bonus
else:
pass # 防御性
print("没有利润还想要啥自行车!!") # 利润<=0 的情况
答案三:
|