Python練習100題二

2021-10-06 19:42:40 字數 3040 閱讀 3604

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

分析:根據題目,可以將此題目利用分段函式處理,需要使用if-elif-else,方式處理。

profit =

int(

input

('please input the profit:\n'))

# 通過input輸入的是str,需要通過int()函式將其轉化為資料

bonus_percent_level1 =

100000

*0.1

bonus_percent_level2 =

100000

*0.175

bonus_percent_level3 =

100000

*0.275

bonus_percent_level4 =

100000

*0.335

bonus_percent_level5 =

100000

*0.395

# 預定義相關的變數便於後續處理

if profit <=

100000

: bonus_percent = profit *

0.1elif profit <=

200000

: bonus_percent = bonus_percent_level1 +

(profit -

100000)*

0.075

elif profit <=

400000

: bonus_percent = bonus_percent_level2 +

(profit -

200000)*

0.05

elif profit <=

600000

: bonus_percent = bonus_percent_level3 +

(profit -

400000)*

0.03

elif profit <=

1000000

: bonus_percent = bonus_percent_level4 +

(profit -

600000)*

0.015

else

: bouns_percent = bonus_percent_level5 +

(profit -

1000000)*

0.01

print

('bonus_percent: {}'

.format

(bonus_percent)

)

知識點:

1.int()函式:

int() 函式用於將乙個字串或數字轉換為整型。

語法: class int(x, base=10)

引數: x – 字串或數字。如果不傳引數時,得到結果為0

base – 進製數,預設十進位制。

pydev console: starting.

python 3.7

.6(default, jan 8

2020,20

:23:39

)[msc v.

1916

64 bit (amd64)

] on win32

int()0

int(

3.6)

3int

('12',16

)18int(

'0xa',16

)10int(

'10',8

)8int(

'10',10

)10int(

100,10)

traceback (most recent call last)

: file ""

, line 1,in

typeerror:

int(

) can't convert non-string with explicit base

# 如果引數x為資料型別,就不能給base設定引數,否則會出錯。因此,如果要給base設定型別時,x引數必須為string型別。

format函式格式化輸出:

一種格式化字串的函式 str.format(),它增強了字串格式化的功能。

基本語法是通過 {} 和 : 來代替以前的 % 。

format 函式可以接受不限個引數,位置可以不按順序,在{}中的數字代表的是format中引數的順序,並且此引數可以重複使用。在{}中的變數代表format中的引數。

name =

'mary'

age =

18s =

"\'s age is "

.format

(name,age)

print

(s)mary's age is

18>>

>

"{} {}"

.format

("hello"

,"world"

)# 不設定指定位置,按預設順序

'hello world'

>>

>

" ".

format

("hello"

,"world"

)# 設定指定位置

'hello world'

>>

>

" "

.format

("hello"

,"world"

)# 設定指定位置

'world hello world'

對於數字格式化,訊息參考:

Python練習100題一

題目 有1 2 3 4個數字,能組成多少個互不相同且無重複數字的三位數?都是多少?分析1 可填在百位 十位 個位的數字都是1 2 3 4。組成所有的排列後再去掉不滿足條件的排列。result for i in range 1 5 for j in range 1 5 for k in range 1...

python練習100例 Python練習100例

filename cnt 0 count the sum of result fori inrange 1,5 forj inrange 1,5 fork inrange 1,5 ifi j andi k andj k print i 100 j 10 k cnt 1 print cnt 程式 題目...

python練習100例(一 四)

以後爭取每週更新10個例題 例1 有四個數字 1 2 3 4,能組成多少個互不相同且無重複數字的三位數?各是多少?m 0for i in range 1 5 for j in range 1 5 for k in range 1 5 if i j and i k and k j m m 1 prin...