題目:企業發放的獎金根據利潤提成。利潤(I)低於或等於10萬元時,獎金可提10%;利潤高於10萬元,低於20萬元時,低於10萬元的部分按10%提成,高於10萬元的部分,可提成7.5%;20萬到40萬之間時,高於20萬元的部分,可提成5%;40萬到60萬之間時高於40萬元的部分,可提成3%;60萬到100萬之間時,高於60萬元的部分,可提成1.5%,高於100萬元時,超過100萬元的部分按1%提成,從鍵盤輸入當月利潤I,求應發放獎金總數?
程序分析:請利用數軸來分界,定位。注意定義時需把獎金定義成長整型。
我的源碼(基於python3.6):
# -*- coding:UTF-8 -*-
#
# 利潤(I)低於或等於10萬元時,獎金可提10%;利潤高於10萬元,低於20萬元時,低於10萬元的部分按10%提成,高於10萬元的部分,可提成7.5%;
# 20萬到40萬之間時,高於20萬元的部分,可提成5%;40萬到60萬之間時高於40萬元的部分,可提成3%;
# 60萬到100萬之間時,高於60萬元的部分,可提成1.5%,高於100萬元時,超過100萬元的部分按1%提成,從鍵盤輸入當月利潤I,求應發放獎金總數?
I= int(input("pls input the profile:"))
arr = [1000000,600000,400000,200000,100000,0]
rat = [0.01,0.015,0.03,0.05,0.075,0.1]
t=0
if I<100000:
t+=I*0.1
elif I<=200000:
t=100000*0.1+(I-100000)*0.075
elif I<=400000:
t = 100000 * 0.1 + 100000*0.075+(I - 200000) * 0.05
elif I<=600000:
t = 100000 * 0.1 + 100000 * 0.075 + 200000*0.05+(I - 400000) * 0.03
elif I<=1000000:
t = 100000 * 0.1 + 100000 * 0.075 + 200000*0.05+200000*0.03+(I - 600000) * 0.015
else:
t = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + 400000*0.015+(I - 1000000) * 0.01
print(t)
其他人的方式:
#!/usr/bin/python # -*- coding: UTF-8 -*- import sys reload(sys) sys.setdefaultencoding('utf-8') x = int(raw_input("凈利潤:")) if x<=100000: bonus=x*0.1 print u"獎金:",bonus,u"元" elif 100001<x<=200000: bonus=10000+(x-100000)*0.075 print u"獎金:",bonus,u"元" elif 200001<x<=400000: bonus=10000+7500+(x-200000)*0.05 print u"獎金:",bonus,u"元" elif 400001<x<=600000: bonus=10000+7500+10000+(x-400000)*0.03 print u"獎金:",bonus,u"元" elif 600001<x<=1000000: bonus=10000+7500+10000+6000+(x-600000)*0.015 print u"獎金:",bonus,u"元" elif 600001<x<=1000000: bonus=10000+7500+10000+6000+6000+(x-600000)*0.01 print u"獎金:",bonus,u"元"