實例:完全平方數。
題目 一個整數,它加上100後是一個完全平方數,再加上168又是一個完全平方數,請問該數是多少。
程序分析 因為168對於指數爆炸來說實在太小了,所以可以直接省略數學分析,用最樸素的方法來獲取上限:
n=0。
while(n+1)**2-n*n<=168:
n+=1。
print(n+1)。
----------。
85
- 編程問答
- 答案列表
python入門經典案例及解析[朗讀]
實例:「個稅計算」
題目 企業發放的獎金根據利潤提成。利潤(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,求應發放獎金總數。
程序分析 分區間計算即可。
profit=int(input('show me the money:'))。
bonus=0。
thresholds=[100000,100000,200000,200000,400000]。
rates=[0.1,0.075,0.05,0.03,0.015,0.01]。
for i in range(len(thresholds)):
if profit<=thresholds[i]:
bonus+=profit*rates[i]。
profit=0。
break
else:、bonus+=thresholds[i]*rates[i]。
profit-=thresholds[i]。
bonus+=profit*rates[-1]。
print(bonus)。
題目 企業發放的獎金根據利潤提成。利潤(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,求應發放獎金總數。
程序分析 分區間計算即可。
profit=int(input('show me the money:'))。
bonus=0。
thresholds=[100000,100000,200000,200000,400000]。
rates=[0.1,0.075,0.05,0.03,0.015,0.01]。
for i in range(len(thresholds)):
if profit<=thresholds[i]:
bonus+=profit*rates[i]。
profit=0。
break
else:、bonus+=thresholds[i]*rates[i]。
profit-=thresholds[i]。
bonus+=profit*rates[-1]。
print(bonus)。
數字組合。
題目 有四個數字:1、2、3、4,能組成多少個互不相同且無重複數字的三位數?各是多少。
程序分析 遍歷全部可能,把有重複的剃掉。
num=0。
for a in range(1,5):
for b in range(1,5):
for c in range(1,5):
if((a!=b)and(a!=c)and(b!=c)):
print(a,b,c)。
num+=1。
print (num)。
函數語法range(start,stop[,step])。
參數說明:
start:計數從 start 開始。默認是從 0 開始。例如range(5)等價於range(0,5);stop:計數到 stop 結束,但不包括 stop。例如:range(0,5) 是[0,1,2,3,4]沒有5step:步長,默認為1。例如:range(0,5) 等價於 range(0,5,1)。
題目 有四個數字:1、2、3、4,能組成多少個互不相同且無重複數字的三位數?各是多少。
程序分析 遍歷全部可能,把有重複的剃掉。
num=0。
for a in range(1,5):
for b in range(1,5):
for c in range(1,5):
if((a!=b)and(a!=c)and(b!=c)):
print(a,b,c)。
num+=1。
print (num)。
函數語法range(start,stop[,step])。
參數說明:
start:計數從 start 開始。默認是從 0 開始。例如range(5)等價於range(0,5);stop:計數到 stop 結束,但不包括 stop。例如:range(0,5) 是[0,1,2,3,4]沒有5step:步長,默認為1。例如:range(0,5) 等價於 range(0,5,1)。
加入收藏