您好,登錄后才能下訂單哦!
實例一:
題目:有四個數字:1、2、3、4,能組成多少個互不相同且無重復數字的三位數?各是多少?
程序分析:可填在百位、十位、個位的數字都是1、2、3、4。組成所有的排列后再去 掉不滿足條件的排列(只要百不等于十位并且不等于個位)。
實例(Python 2.0+)
#!/usr/bin/python # -*- coding: UTF-8 -*- for i in range(1,5):#百位 for j in range(1,5):#十位 for k in range(1,5):#個位 if( i != k ) and (i != j) and (j != k):#百位十位個位的數字不相等 print i,j,k #3.0+ print (i,j,k)
實例二:
題目:企業發放的獎金根據利潤提成。利潤(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,求應發放獎金總數?
具備知識基礎:數組遍歷
程序分析:請利用數組來分界(兩個數組,一個數組利潤空間,一個數組是提成比例),定位,判斷利潤區間。比如:利潤是120000,通過數組定位120000大于100000,那么獎金就由兩部分組成:
1、(120000-100000)*0.75
2、100000*0.1
實例(Python 2.0+)
# !/usr/bin/python # -*- coding: UTF-8 -*- i = int(raw_input('凈利潤:')) arr = [1000000, 600000, 400000, 200000, 100000, 0] rat = [0.01, 0.015, 0.03, 0.05, 0.075, 0.1] r = 0 for idx in range(0, 6): if i > arr[idx]: r += (i - arr[idx]) * rat[idx] #高于基數部分提成,例如利潤120000,就是20000部分提成 print (i - arr[idx]) * rat[idx] i = arr[idx] print r
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。