Python 案例002(獲取不同資料區間的和)

2021-08-03 20:33:46 字數 1778 閱讀 5355

題目內容來自網路 ,加入了個人理解的過程 ,和點評

#! /usr/bin/python

# -*- coding:utf-8 -*-

"""request :

題目:企業發放的獎金根據利潤提成。利潤(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,求應發放獎金總數?

"""#define two lists

# method 1

revenue=[1000000,600000,400000,200000,100000,0]

deduct=[0.01,0.015,0.03,0.05,0.075,0.1]

profit = int(raw_input("please enter the revenue:"))

earning = 0

for x in range(len(deduct)):

if profit > revenue[x]:

earning+=(profit-revenue[x])*deduct[x]

profit=revenue[x]

print earning

#method 2 ,求出每個區間的資料

nprofit = int(raw_input("please enter the revenue:"))

nrevenue=[1000000,600000,400000,200000,100000,0]

ndeduct=[0.01,0.015,0.03,0.05,0.075,0.1]

# define an new list to put this data in

nearning = 0

newprofit =

for x in range(len(nrevenue)):

if nprofit > nrevenue[x]:

nearning = (nprofit - nrevenue[x]) # 計算每個區間段的資料值

nprofit = nrevenue[x]

else:

# try to using lambda

zipdata = zip(newprofit,ndeduct)

print zipdata

trynew = sum(map(lambda (x,y):x*y,zipdata)) # x, y 是乙個zipdata 中的元組 tuple

print trynew # 這個地方很容易跟spark 中的map reduce 混淆

#method 3, 考慮用列表推到 ??

# result :

"""please enter the revenue:100000000

1029500.0

please enter the revenue:100000000

[(99000000, 0.01), (400000, 0.015), (200000, 0.03), (200000, 0.05), (100000, 0.075), (100000, 0.1)]

1029500.0

"""

Python 案例002(獲取不同資料區間的和)

題目內容來自網路 加入了個人理解的過程 和點評 usr bin python coding utf 8 request 題目 企業發放的獎金根據利潤提成。利潤 i 低於或等於10萬元時,獎金可提10 利潤高於10萬元,低於20萬元時,低於10萬元的部分按10 提成,高於10萬元的部分,可提成7.5 ...

JQuery 002 獲取元素

siblings 獲得匹配元素集合中所有元素的同輩元素,由選擇器篩選 可選 通過標籤選擇器 div siblings 遍歷的是所有div的兄弟元素 div siblings css background red 通過 selected siblings 遍歷的是除了包含.selected之外的所有兇...

Android基礎 002 獲取裝置資訊

telephonymanager tm telephonymanager getsystemservice telephony service 1.加入許可權 在manifest.xml檔案中要新增 2.建立日期 2010 4 29 下午05 02 47 package import import ...