Python練手例子(4)

2022-07-31 23:36:15 字數 2811 閱讀 4821

16、乙個數如果恰好等於它的因子之和,這個數就稱為"完數"。例如6=1+2+3.程式設計找出1000以內的所有完數。

程式分析:請參照程式python 100例中的第14個例子

#

python3.7

from sys import

stdout

for j in range(2, 1001):

k =n = -1s =j

for i in range(1, j):

if j % i ==0:

n += 1s -=i

if s ==0:

print

(j)

for i in

range(n):

stdout.write(str(k[i]))

stdout.write(''

)

print

(k[n])

結果:6

1 2 3

281 2 4 7 14

4961 2 4 8 16 31 62 124 248

20、一球從100公尺高度自由落下,每次落地後反跳回原高度的一半;再落下,求它在第10次落地時,共經過多少公尺?第10次**多高?

#

python3.7

tour =

height =

sheight = 100.0#

起始高度

tim = 10#

次數for i in range(1, tim + 1):

if i == 1:

else

:print('

球在第10次落地時共經過tour=公尺

'.format(sum(tour)))

print('

第10次**時球的高度為height=公尺

'.format(height[-1]))

21、猴子吃桃問題:猴子第一天摘下若干個桃子,當即吃了一半,還不癮,又多吃了乙個。第二天早上又將剩下的桃子吃掉一半,又多吃了乙個。以後每天早上都吃了前一天剩下的一半零乙個。到第10天早上想再吃時,見只剩下乙個桃子了。求第一天共摘了多少。

程式分析:採取逆向思維的方法,從後往前推斷。

#

python3.7

x2 = 1

for day in range(9, 0, -1):

x1 = (x2 + 1) * 2x2 =x1

print(x1)

22、兩個桌球隊進行比賽,各出三人。甲隊為a,b,c三人,乙隊為x,y,z三人。已抽籤決定比賽名單。有人向隊員打聽比賽的名單。a說他不和x比,c說他不和x,z比,請程式設計序找出三隊賽手的名單。

注:ord() 函式是 chr() 函式(對於 8 位的 ascii 字串)的配對函式,它以乙個字串(unicode 字元)作為引數,返回對應的 ascii 數值,或者 unicode 數值。

#

python3.7

for i in range(ord('

x'), ord('

z') + 1):

for j in range(ord('

x'), ord('

z') + 1):

if i !=j:

for k in range(ord('

x'), ord('

z') + 1):

if (i != k) and (j !=k):

if (i != ord('

x')) and (k != ord('

x')) and (k != ord('z'

)):

print('

order is a -- %s\tb -- %s\tc -- %s

' % (chr(i), chr(j), chr(k)))

23、列印出如下圖案(菱形):

*************************

程式分析:先把圖形分成兩部分來看待,前四行乙個規律,後三行乙個規律,利用雙重for迴圈,第一層控制行,第二層控制列。

#

python3.7

from sys import

stdout

for i in range(4):

for j in range(2 - i + 1):

stdout.write(''

)

for k in range(2 * i + 1):

stdout.write('*

')print(''

)for i in range(3):

for j in range(i + 1):

stdout.write(''

)

for k in range(4 -2 * i + 1):

stdout.write('*

')print('')

24、有一分數序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個數列的前20項之和。

程式分析:請抓住分子與分母的變化規律。

#

python3.7

a = 2.0b = 1.0s =0

for n in range(1,21):

s += a /b

t =a

a = a +b

b =t

print(s)

Python練手例子(2)

7 將乙個列表的資料複製到另乙個列表中。程式分析 使用列表 python3.7 適用於簡單列表 即列表中都是基本的元素 a1 1,2 b1 a1 print b1 不適合列表中包含列表的情況,如果要複製的列表中包含列表,只會複製那個列表的列表的引用 a2 1,2,3 b2 a2 print a2 p...

Python練手例子(6)

31 請輸入星期幾的第乙個字母來判斷一下是星期幾,如果第乙個字母一樣,則繼續判斷第二個字母。程式分析 用情況語句比較好,如果第乙個字母一樣,則判斷用情況語句或if語句判斷第二個字母。letter input please input if letter s print please input se...

Python練手例子(10)

55 學習使用按位取反 程式分析 0 1 1 0 1 先使a右移4位。2 設定乙個低4位全為1,其餘全為0的數。可用 0 4 3 將上面二者進行 運算。python3.7 if name main a 234b a print the a s 1 complement is d b a a prin...