題目:有四個數字: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萬...