根据分段直接写if else就可以了。
bonus2 计算有问题,100000*.075,那个数他应该是写错了
def getBonus(money):
if money == 0:
return 0
score = {0:.1,100000:.075,200000:.05,400000:.03,600000:.015,1000000:.01}
lv = list(set(score))
lv.sort(reverse=True)
for i in range(len(lv)):
if money>lv[i]:
bonus = (money - lv[i]) * score[lv[i]] + getBonus(lv[i])
return bonus
print(getBonus(150000))