Python練習例項專案(1)建議收藏

2021-10-19 02:38:13 字數 3233 閱讀 7644

題目:有四個數字:1、2、3、4,能組成多少個互不相同且無重複數字的三位數?各是多少?

程式分析:可填在百位、十位、個位的數字都是1、2、3、4。組成所有的排列後再去 掉不滿足條件的排列。

程式源**:

#!/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

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

程式分析:利用數軸來分界,定位。

程式源**:

#!/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 =

0for idx in

range(0

,6):

if i>arr[idx]

: r+=

(i-arr[idx]

)*rat[idx]

print

(i-arr[idx]

)*rat[idx]

i=arr[idx]

print r

.

.給小夥伴們推薦乙個python學習裙,

610 380 249..

題目:乙個整數,它加上100後是乙個完全平方數,再加上168又是乙個完全平方數,請問該數是多少?

程式分析:

假設該數為 x。

1、則:x + 100 = n2, x + 100 + 168 = m2

2、計算等式:m2 - n2 = (m + n)(m - n) = 168

3、設定: m + n = i,m - n = j,i * j =168,i 和 j 至少乙個是偶數

4、可得: m = (i + j) / 2, n = (i - j) / 2,i 和 j 要麼都是偶數,要麼都是奇數。

5、從 3 和 4 推導可知道,i 與 j 均是大於等於 2 的偶數。

6、由於 i * j = 168, j>=2,則 1 < i < 168 / 2 + 1。

7、接下來將 i 的所有數字迴圈計算即可。

程式源**:

#!/usr/bin/python

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

for i in

range(1

,85):

if168

% i ==0:

j =168/ i;

if i > j and

(i + j)%2

==0and(i - j)%2

==0: m =

(i + j)/2

n =(i - j)/2

x = n * n -

100print

(x)

題目:輸入某年某月某日,判斷這一天是這一年的第幾天?

程式分析:以3月5日為例,應該先把前兩個月的加起來,然後再加上5天即本年的第幾天,特殊情況,閏年且輸入月份大於2時需考慮多加一天。

程式源**:

#!/usr/bin/python

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

year =

int(

raw_input

('year:\n'))

month =

int(

raw_input

('month:\n'))

day =

int(

raw_input

('day:\n'))

months =(0

,31,59

,90,120

,151

,181

,212

,243

,273

,304

,334)if

0< month <=12:

sum= months[month -1]

else

:print

'data error'

sum+= day

leap =0if

(year %

400==0)

or((year %4==

0)and(year %

100!=0)

):leap =1if

(leap ==1)

and(month >2)

:sum+=1

print

'it is the %dth day.'

%sum

題目:輸入三個整數x,y,z,請把這三個數由小到大輸出。

程式分析:我們想辦法把最小的數放到x上,先將x與y進行比較,如果x>y則將x與y的值進行交換,然後再用x與z進行比較,如果x>z則將x與z的值進行交換,這樣能使x最小。

程式源**:

#!/usr/bin/python

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

l =for i in

range(3

):x =

int(

raw_input

('integer:\n'))

l.sort(

)print l

(練習)Python例項1

1 example.py 1.有四個數字 1 2 3 4,能組成多少個互不相同且無重複數字的三位數?各是多少?def example1 count 0 for i in range 1,5 for j in range 1,5 for k in range 1,5 if i j and j k an...

Python 練習例項1

摘至菜鳥教程 題目 有四個數字 1 2 3 4,能組成多少個互不相同且無重複數字的三位數?各是多少?date 2019 5 12 分析 可以用for迴圈與邏輯運算解決 提問 從時間複雜度考慮,看完計算機結構想想 list1 n 0for i in list1 for j in list1 for k...

Python 練習例項2

題目2 企業發放的獎金根據利潤提成。利潤 i 低於或等於10萬元時,獎金可提10 利潤高於10萬元,低於20萬元時,低於10萬元的部分按10 提成,高於10萬元的部分,可提成7.5 20萬到40萬之間時,高於20萬元的部分,可提成5 40萬到60萬之間時高於40萬元的部分,可提成3 60萬到100萬...