Python99道經(jīng)典練習(xí)題答案_第1頁(yè)
Python99道經(jīng)典練習(xí)題答案_第2頁(yè)
Python99道經(jīng)典練習(xí)題答案_第3頁(yè)
Python99道經(jīng)典練習(xí)題答案_第4頁(yè)
Python99道經(jīng)典練習(xí)題答案_第5頁(yè)
已閱讀5頁(yè),還剩49頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、#!/usr/bin/env python#coding: utf-8'''【程序1】題目:有1、2、3、4個(gè)數(shù)字,能組成多少個(gè)互不相同且無(wú)重復(fù)數(shù)字的三位數(shù)都是多少1 .程序分析:可填在百位、十位、個(gè)位的數(shù)字都是1、2、3、4。組成所有的排列后再去掉不滿足條件的排列。2 .程序源代碼: '''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'''【程序

2、2】 題目:企業(yè)發(fā)放的獎(jiǎng)金根據(jù)利潤(rùn)提成。利潤(rùn) (I)低于或等于10萬(wàn)元時(shí),獎(jiǎng)金可提10%利潤(rùn)于 10 萬(wàn)元,低于20 萬(wàn)元時(shí),低于 10 萬(wàn)元的部分按10%提成,高于10萬(wàn)元的部分,可可提成 %; 20 萬(wàn)到 40 萬(wàn)之間時(shí),高于20 萬(wàn)元的部分,可提成5%; 40 萬(wàn)到 60 萬(wàn)之間時(shí)高于40 萬(wàn)元的部分,可提成3%; 60 萬(wàn)到 100 萬(wàn)之間時(shí),高于60 萬(wàn)元的部分,可提成%,高于100 萬(wàn)元時(shí),超過(guò)100 萬(wàn)元的部分按1%提成,從鍵盤(pán)輸入當(dāng)月利潤(rùn)I ,求應(yīng)發(fā)放獎(jiǎng)金總數(shù)1 .程序分析:請(qǐng)利用數(shù)軸來(lái)分界,定位。注意定義時(shí)需把獎(jiǎng)金定義成長(zhǎng)整型。2 . 程序源代碼:'''

3、;bonus1 = 100000 *bonus2 = bonus1 + 100000 *bonus4 = bonus2 + 200000 *bonus6 = bonus4 + 200000 *bonus10 = bonus6 + 400000 *i = int(raw_input('input gain:n')if i <= 100000:bonus = i *elif i <= 200000:bonus = bonus1 + (i - 100000) *elif i <= 400000:bonus = bonus2 + (i - 200000) *elif

4、i <= 600000:bonus = bonus4 + (i - 400000) *elif i <= 1000000:bonus = bonus6 + (i - 600000) *else:bonus = bonus10 + (i - 1000000) *print 'bonus = ',bonus '''【程序3 】題目:一個(gè)整數(shù),它加上100 后是一個(gè)完全平方數(shù), 再加上 268 又是一個(gè)完全平方數(shù),請(qǐng)問(wèn)該數(shù)是多少1 .程序分析: 在 10 萬(wàn)以?xún)?nèi)判斷, 先將該數(shù)加上100后再開(kāi)方, 再將該數(shù)加上268 后再開(kāi)方,如果開(kāi)方后的結(jié)果滿足

5、如下條件,即是結(jié)果。請(qǐng)看具體分析:2 . 程序源代碼:#include "" main()long int i,x,y,z;for (i=1;i<100000;i+) x=sqrt(i+100);/*x 為加上 100 后開(kāi)方后的結(jié)果*/y=sqrt(i+268);/*y 為再加上 268 后開(kāi)方后的結(jié)果*/if(x*x=i+100&&y*y=i+268)/* 如果一個(gè)數(shù)的平方根的平方等于該數(shù), 這說(shuō)明此數(shù)是完全平方數(shù)*/printf("n%ldn",i);'''import mathfor i in ran

6、ge(10000):# 轉(zhuǎn)化為整型值x = int(i + 100)y = int(i + 268)if(x * x = i + 100) and (y * y = i + 268):print i【程序4 】題目:輸入某年某月某日,判斷這一天是這一年的第幾天1 .程序分析: 以 3 月 5 日為例, 應(yīng)該先把前兩個(gè)月的加起來(lái), 然后再加上5 天即本年的第幾天,特殊情況,閏年且輸入月份大于 3 時(shí)需考慮多加一天。2 . 程序源代碼: '''year = int(raw_input('year:n')month = int(raw_input('m

7、onth: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 = monthsmonth - 1else:print 'data error'sum += dayleap = 0 if (year % 400 = 0) or (year % 4 = 0) and (year % 100 != 0):leap = 1 if (leap = 1) and (month > 2):

8、sum += 1print 'it is the %dth day.' % sum'''【程序5 】題目:輸入三個(gè)整數(shù)x,y,z ,請(qǐng)把這三個(gè)數(shù)由小到大輸出。1 .程序分析:我們想辦法把最小的數(shù)放到 x 上,先將 x 與 y 進(jìn)行比較,如果x>y 則將 x 與 y的值進(jìn)行交換,然后再用 x 與 z 進(jìn)行比較,如果x>z 則將 x 與 z 的值進(jìn)行交換,這樣能使x最小。2 . 程序源代碼:'''l = for i in range(3):x = int(raw_input('integer:n')(x)(

9、) print l【程序 6 】題目:用*號(hào)輸出字母C 的圖案。1 .程序分析:可先用'*號(hào)在紙上寫(xiě)出字母C,再分行輸出。2 . 程序源代碼: '''print 'Hello Python world!n'print '*' * 10for i in range(5):print '*'print '*' * 10print '*n' * 6 '''【程序 7 】題目:輸出特殊圖案,請(qǐng)?jiān)赾 環(huán)境中運(yùn)行,看一看, Very Beautiful!1 .程序分析:字

10、符共有256 個(gè)。不同字符,圖形不一樣。2 . 程序源代碼:a = 176b = 219 print chr(b),chr(a),chr(a),chr(a),chr(b)print chr(a),chr(b),chr(a),chr(b),chr(a)print chr(a),chr(a),chr(b),chr(a),chr(a)print chr(a),chr(b),chr(a),chr(b),chr(a)print chr(b),chr(a),chr(a),chr(a),chr(b)'''【程序8 】題目:輸出 9*9 口訣。1 .程序分析:分行與列考慮,共 9 行

11、9 列, i 控制行, j 控制列。2 . 程序源代碼:#include ""main()int i,j,result;printf("n");for (i=1;i<10;i+) for(j=1;j<10;j+)result=i*j;printf("%d*%d=%-3d",i,j,result);/*-3d表示左對(duì)齊,占 3 位*/printf("n");/* 每一行后換行*/ for i in range(1,10):for j in range(1,10):result = i * jprint &

12、#39;%d * %d = % -3d' % (i,j,result)print '''''【程序 9 】題目:要求輸出國(guó)際象棋棋盤(pán)。1 .程序分析:用 i 控制行, j 來(lái)控制列,根據(jù)i+j 的和的變化來(lái)控制輸出黑方格,還是白方格。2 . 程序源代碼:#include ""main()int i,j;for(i=0;i<8;i+)for(j=0;j<8;j+)if(i+j)%2=0)printf("%c%c",219,219);elseprintf(" ");printf(

13、"n");'''import sysfor i in range(8):for j in range(8):if(i + j) % 2 = 0:else:' ')print '' '''【程序10】題目:打印樓梯,同時(shí)在樓梯上方打印兩個(gè)笑臉。1 .程序分析:用 i 控制行, j 來(lái)控制列, j 根據(jù) i 的變化來(lái)控制輸出黑方格的個(gè)數(shù)。2 . 程序源代碼: '''import sys ''for i in range(1,11):for j in range

14、(1,i): print '''''【程序 11】題目: 古典問(wèn)題:有一對(duì)兔子, 從出生后第3 個(gè)月起每個(gè)月都生一對(duì)兔子, 小兔子長(zhǎng)到第三 個(gè)月后每個(gè)月又生一對(duì)兔子,假如兔子都不死,問(wèn)每個(gè)月的兔子總數(shù)為多少1 .程序分析: 兔子的規(guī)律為數(shù)列 1,1,2,3,5,8,13,212 . 程序源代碼:main()long f1,f2;int i;f1=f2=1;for(i=1;i<=20;i+) printf("%12ld %12ld",f1,f2);if(i%2=0) printf("n");/*控制輸出,每行四

15、個(gè)*/f1=f1+f2; /*前兩個(gè)月加起來(lái)賦值給第三個(gè)月*/f2=f1+f2; /*前兩個(gè)月加起來(lái)賦值給第三個(gè)月*/'''f1 = 1f2 = 1for i in range(1,21):print '%12d %12d' % (f1,f2)if (i % 2) = 0:print ''f1 = f1 + f2f2 = f1 + f2'''【程序12】題目:判斷101-200 之間有多少個(gè)素?cái)?shù),并輸出所有素?cái)?shù)。1 .程序分析:判斷素?cái)?shù)的方法:用一個(gè)數(shù)分別去除2 到 sqrt( 這個(gè)數(shù) ) ,如果能被整除,則表明此

16、數(shù)不是素?cái)?shù),反之是素?cái)?shù)。2 . 程序源代碼:'''h = 0leap = 1from math import sqrtfrom sys import stdoutfor m in range(101,201):k = int(sqrt(m + 1)for i in range(2,k + 1):if m % i = 0:leap = 0 breakif leap = 1:print '%-4d' % mh += 1if h % 10 = 0:print ''leap = 1print 'The total is %d' %

17、 h '''【程序 13】題目:打印出所有的“水仙花數(shù)”,所謂“水仙花數(shù)”是指一個(gè)三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如: 153 是一個(gè)“水仙花數(shù)”,因?yàn)?153=1 的三次方 5 的三次方 3 的三 次方。1 .程序分析:利用 for 循環(huán)控制 100-999 個(gè)數(shù),每個(gè)數(shù)分解出個(gè)位,十位,百位。2 . 程序源代碼: '''for n in range(100,1001):i = n / 100j = n / 10 % 10k = n % 10if i * 100 + j * 10 + k = i + j * 2 + k * 3:prin

18、t "%-5d" % n【程序14】題目:將一個(gè)正整數(shù)分解質(zhì)因數(shù)。例如:輸入 90, 打印出 90=2*3*3*5 。程序分析:對(duì)n 進(jìn)行分解質(zhì)因數(shù),應(yīng)先找到一個(gè)最小的質(zhì)數(shù) k ,然后按下述步驟完成:(1)如果這個(gè)質(zhì)數(shù)恰等于n,則說(shuō)明分解質(zhì)因數(shù)的過(guò)程已經(jīng)結(jié)束,打印出即可。(2) 如果 n<>k ,但 n 能被 k 整除,則應(yīng)打印出 k 的值,并用 n 除以 k 的商 , 作為新的正整數(shù) 你 n,重復(fù)執(zhí)行第一步。(3) 如果 n 不能被 k 整除,則用 k+1 作為 k 的值 , 重復(fù)執(zhí)行第一步。2. 程序源代碼:'''from sys i

19、mport stdoutn = int(raw_input("input number:n") print "n = %d" % n for i in range(2,n + 1):while n != i:if n % i = 0:(str(i)("*")n = n / ielse:breakprint "%d" % n'''【程序15】題目: 利用條件運(yùn)算符的嵌套來(lái)完成此題: 學(xué)習(xí)成績(jī) >=90 分的同學(xué)用 A 表示, 60-89 分之間的用 B 表示,60分以下的用C表示。1 .

20、程序分析: (a>b)a:b 這是條件運(yùn)算符的基本例子。2 . 程序源代碼:不支持這個(gè)運(yùn)算符score = int(raw_input('input score:n') if score >= 90:grade = 'A'elif score >= 60:grade = 'B'else:grade = 'C'print '%d belongs to %s' % (score,grade) '''【程序17】題目:輸入一行字符,分別統(tǒng)計(jì)出其中英文字母、空格、數(shù)字和其它字符的個(gè)

21、數(shù)。1 .程序分析:利用 while 語(yǔ)句 , 條件為輸入的字符不為 'n'.2 . 程序源代碼: '''import strings = raw_input('input a string:n')letters = 0space = 0digit = 0others = 0 for c in s:if ():letters += 1elif ():space += 1elif ():digit += 1else:others += 1print 'char = %d,space = %d,digit = %d,others =

22、%d' %(letters,space,digit,others) '''題目: 求 s=a+aa+aaa+aaaa+aa.a的值, 其中 a 是一個(gè)數(shù)字。 例如 2+22+222+2222+22222( 此時(shí)共有 5 個(gè)數(shù)相加 ) ,幾個(gè)數(shù)相加有鍵盤(pán)控制。1 .程序分析:關(guān)鍵是計(jì)算出每一項(xiàng)的值。2 . 程序源代碼:Tn = 0Sn = n = int(raw_input('n = :n') a = int(raw_input('a = :n')for count in range(n):Tn = Tn + aa = a * 10

23、(Tn)print TnSn = reduce(lambda x,y : x + y,Sn)print Sn '''【程序19】6=1 2 3. 編程題目:一個(gè)數(shù)如果恰好等于它的因子之和,這個(gè)數(shù)就稱(chēng)為“完數(shù)”。例如找出 1000 以?xún)?nèi)的所有完數(shù)。1. 程序分析:請(qǐng)參照程序<- 上頁(yè)程序 14.2. 程序源代碼: '''from sys import stdoutfor j in range(2,1001):k = n = -1s = jfor i in range(1,j):if j % i = 0:n += 1s -= i(i)if s

24、= 0:print jfor i in range(n):(ki)(' ')print kn'''【程序20】題目:一球從100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第 10 次落地時(shí),共經(jīng)過(guò)多少米第10 次反彈多高1 .程序分析:見(jiàn)下面注釋2 . 程序源代碼:'''Sn =Hn = Sn / 2for n in range(2,11):Sn += 2 * HnHn /= 2print 'Total of road is %f' % Snprint 'The tenth is %f

25、meter' % Hn '''【程序 21】題目:猴子吃桃問(wèn)題:猴子第一天摘下若干個(gè)桃子,當(dāng)即吃了一半,還不癮,又多吃了一個(gè)第二天早上又將剩下的桃子吃掉一半, 又多吃了一個(gè)。 以后每天早上都吃了前一天剩 下的一半零一個(gè)。到第10 天早上想再吃時(shí),見(jiàn)只剩下一個(gè)桃子了。求第一天共摘了多少。1.程序分析:采取逆向思維的方法,從后往前推斷。2. 程序源代碼:x2 = 1for day in range(9,0,-1):x1 = (x2 + 1) * 2x2 = x1print x1'''【程序 22】題目:兩個(gè)乒乓球隊(duì)進(jìn)行比賽,各出三人。甲隊(duì)為決

26、定比賽名單。有人向隊(duì)員打聽(tīng)比賽的名單。程序找出三隊(duì)賽手的名單。1.程序分析:判斷素?cái)?shù)的方法:用一個(gè)數(shù)分別去除則表明此數(shù)不是素?cái)?shù),反之是素?cái)?shù)。a,b,c 三人,乙隊(duì)為 x,y,z 三人。已抽簽a 說(shuō)他不和 x 比, c 說(shuō)他不和 x,z 比,請(qǐng)編2 到 sqrt( 這個(gè)數(shù) ) ,如果能被整除,2. 程序源代碼: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&#

27、39;),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 - %st b -%stc-%s'%(chr(i),chr(j),chr(k)'''【程序 23】題目:打印出如下圖案(菱形)*1.程序分析:先把圖形分成兩部分來(lái)看待,前四行一個(gè)規(guī)律,后三行一個(gè)規(guī)律,利用雙重for 循環(huán),第一層控制行,第二層控制列。from s

28、ys import stdout for i in range(4):for j in range(2 - i + 1):(' ')for k in range(2 * i + 1):('*')printfor i in range(3):for j in range(i + 1):(' ')for k in range(4 - 2 * i + 1):('*')print'''【程序24】20 項(xiàng)之和。題目:有一分?jǐn)?shù)序列: 2/1 , 3/2 , 5/3 , 8/5 , 13/8 , 21/13. 求出這個(gè)

29、數(shù)列的前1.程序分析:請(qǐng)抓住分子與分母的變化規(guī)律。2. 程序源代碼:#方法一 a =b =s = 0for n in range(1,21):s += a / bt = aa = a + bb = tprint s#方法二s =for n in range(1,21):s += a / bb,a = a , a + bprint ss =for n in range(1,21):s += a / bb,a = a , a + b print s#方法三l = for n in range(1,21):b,a = a,a + b(a / b)print reduce(lambda x,y: x

30、+ y,l)'''【程序25】題目:求1+2!+3!+.+20!的和1 .程序分析:此程序只是把累加變成了累乘。2 . 程序源代碼:'''#方法一n = 0s = 0t = 1 for n in range(1,21):t *= ns += tprint '1! + 2! + 3! + . + 20! = %d' % s#方法二s = 0l = range(1,21)def op(x):r = 1for i in range(1,x + 1):r *= ireturn rs = sum(map(op,l)print '1!

31、 + 2! + 3! + . + 20! = %d' % s'''【程序 26】題目:利用遞歸方法求5! 。1 .程序分析:遞歸公式: fn=fn_1*4!2. 程序源代碼:def fact(j):sum = 0if j = 0:sum = 1else:sum = j * fact(j - 1) return sumfor i in range(5):print '%d! = %d' % (i,fact(i) '''【程序27】題目:利用遞歸函數(shù)調(diào)用方式,將所輸入的 5 個(gè)字符,以相反順序打印出來(lái)。2 .程序分析:3 .

32、程序源代碼: '''def palin(n):next = 0if n <= 1:next = input()printprint nextelse:next = input()palin(n - 1)print next1 = 5palin(i)print'''【程序 28】題目: 有 5 個(gè)人坐在一起,問(wèn)第五個(gè)人多少歲他說(shuō)比第 4 個(gè)人大 2 歲。 問(wèn)第 4 個(gè)人歲數(shù),他說(shuō)比第3 個(gè)人大 2 歲。問(wèn)第三個(gè)人,又說(shuō)比第 2 人大兩歲。問(wèn)第 2 個(gè)人,說(shuō)比第一個(gè)人大兩歲。最后問(wèn)第一個(gè)人,他說(shuō)是10 歲。請(qǐng)問(wèn)第五個(gè)人多大1.程序分析:利用遞歸

33、的方法, 遞歸分為回推和遞推兩個(gè)階段。要想知道第五個(gè)人歲數(shù),需 知道第四人的歲數(shù),依次類(lèi)推,推到第一人( 10 歲),再往回推。def age(n):if n = 1: c = 10else: c = age(n - 1) + 2return cprint age(5)'''【程序 29】題目:給一個(gè)不多于5 位的正整數(shù),要求:一、求它是幾位數(shù),二、逆序打印出各位數(shù)字。1. 程序分析:學(xué)會(huì)分解出每一位數(shù), 如下解釋?zhuān)?( 這里是一種簡(jiǎn)單的算法,師專(zhuān)數(shù)002 班趙鑫提供 )2. 程序源代碼:'''x = int(raw_input("in

34、put a number:n")a = x / 10000b = x % 10000 / 1000c = x % 1000 / 100d = x % 100 / 10 e = x % 10if a != 0:print "there are 5 ",e,d,c,b,aelif b != 0:print "there are 4 ",d,c,b,aelif c != 0:print "there are 3 ",e,d,celif d != 0:print "there are 2 ",e,delse:pr

35、int "there are 1",e '''題目:一個(gè)5 位數(shù),判斷它是不是回文數(shù)。即 12321 是回文數(shù),個(gè)位與萬(wàn)位相同,十位與千位相同。1 .程序分析:同 29例2 . 程序源代碼: '''x = int(raw_input("input a number:n")x = str(x)for i in range(len(x)/2):if xi != x-i - 1:print 'Saturdaybreakprint 'this number is a huiwen' '

36、;''程序 31】題目:請(qǐng)輸入星期幾的第一個(gè)字母來(lái)判斷一下是星期幾,如果第一個(gè)字母一樣,則繼續(xù)判斷第二個(gè)字母。1 .程序分析:用情況語(yǔ)句比較好,如果第一個(gè)字母一樣,則判斷用情況語(yǔ)句或if 語(yǔ)句判斷第二個(gè)字母。2 . 程序源代碼: '''from sys import stdinletter = (1)()while letter != 'Y':if letter = 'S':print 'please input second letter'letter = (1)()if letter = 'a&

37、#39;:elif letter = 'u':print 'Sunday'else:print 'data error'breakelif letter = 'F':print 'Friday'breakelif letter = 'M':print 'Monday'#breakelif letter = 'T':print 'please input second letter'letter = (1)()if letter = 'u'

38、;:print 'Tuesday'elif letter = 'h':print 'Thursdayelse:print 'data error'breakelif letter = 'W':print 'Wednesday'else:print 'data error'letter = (1)()'''【程序32】題目: Press any key to change color, do you want to try it. Please hurry up!1 .

39、程序分析:2 . 程序源代碼:不知道寫(xiě)呢 :(, 先空著吧'''33】題目:學(xué)習(xí) gotoxy() 與 clrscr() 函數(shù)1 .程序分析:2 . 程序源代碼:不知道如何寫(xiě) :( 先空著吧''''''【程序 34】題目:練習(xí)函數(shù)調(diào)用1. 程序分析:2. 程序源代碼:'''def hello_world():print 'hello world'def three_hellos():for i in range(3):hello_world()if _name_ = '_ma

40、in_':three_hellos()35】題目:文本顏色設(shè)置1 .程序分析:2 . 程序源代碼:#include <>void main(void)int color;for (color = 1; color < 16; color+)textcolor(color);/* 設(shè)置文本顏色*/cprintf("This is color %drn", color);textcolor(128 + 15);cprintf("This is blinkingrn");'''36】題目:求 100 之內(nèi)的素?cái)?shù)

41、1 .程序分析:2 . 程序源代碼: '''from math import sqrtif _name_ = '_main_':N = 100a = range(0,N)for i in range(2,int(sqrt(N):for j in range(i + 1,N):if (ai != 0) and (aj != 0):if aj % ai = 0:aj = 0printfor i in range(2,N):if ai != 0:print "%5d" % aiif (i - 2) % 10 = 0:printfor i i

42、n range(N - 1):【程序 37】題目:對(duì) 10 個(gè)數(shù)進(jìn)行排序1 .程序分析: 可以利用選擇法, 即從后 9 個(gè)比較過(guò)程中, 選擇一個(gè)最小的與第一個(gè)元素交換, 下次類(lèi)推,即用第二個(gè)元素與后 8 個(gè)進(jìn)行比較,并進(jìn)行交換。2 . 程序源代碼:'''if _name_ = "_main_":N = 10# input dataprint 'please input ten num:n'l = for i in range(N):(int(raw_input('input a number:n')printfor i

43、 in range(N):print liprint# sort ten nummin = ifor j in range(i + 1,N):if lmin > lj:min = jli,lmin = lmin,liprint 'after sorted'for i in range(N):print li'''【程序 38】累加后輸出。題目:求一個(gè)3*3 矩陣對(duì)角線元素之和1 .程序分析:利用雙重for 循環(huán)控制輸入二維數(shù)組,再將aii2 . 程序源代碼:'''if _name_ = '_main_':a

44、= sum =for i in range(3):()for j in range(3):ai.append(float(raw_input("input num:n")for i in range(3):sum += aiiprint sum'''【程序39】題目:有一個(gè)已經(jīng)排好序的數(shù)組?,F(xiàn)輸入一個(gè)數(shù),要求按原來(lái)的規(guī)律將它插入數(shù)組中。1. 程序分析:首先判斷此數(shù)是否大于最后一個(gè)數(shù),然后再考慮插入中間的數(shù)的情況,插入后此元素之后的數(shù),依次后移一個(gè)位置。2. 程序源代碼:'''if _name_ = '_main_

45、9;:# 方法一a = 1,4,6,9,13,16,19,28,40,100,0print 'original list is:'for i in range(len(a):print ainumber = int(raw_input("insert a new number:n")end = a9if number > end:a10 = numberelse:for i in range(10):if ai > number:temp1 = ai ai = number for j in range(i + 1,11):temp2 = aj

46、aj = temp1 temp1 = temp2breakfor i in range(11):print ai# 方法二# insrt another numbernumber = int(raw_input('input a number:n')if number > alen(a) - 1:(number)else:for i in range(len(a):if ai > number:(i,number)print a'''【程序40】題目:將一個(gè)數(shù)組逆序輸出。1 .程序分析:用第一個(gè)與最后一個(gè)交換。2 . 程序源代碼:'&

47、#39;'if _name_ = '_main_':a = 9,6,5,4,1N = len(a)print afor i in range(len(a) / 2):ai,aN - i - 1 = aN - i - 1,aiprint a'''【程序 41】題目:學(xué)習(xí) static 定義靜態(tài)變量的用法1 .程序分析:2 . 程序源代碼: '''# python 沒(méi)有這個(gè)功能了 , 只能這樣了 :)def varfunc():var = 0print 'var = %d' % varvar += 1if _n

48、ame_ = '_main_':for i in range(3): varfunc()# attribut of class# 作為類(lèi)的一個(gè)屬性吧class Static:StaticVar = 5def varfunc(self):+= 1printprinta = Static()for i in range(3):()'''題目:學(xué)習(xí)使用 auto 定義變量的用法1 .程序分析:2 . 程序源代碼:沒(méi)有 auto 關(guān)鍵字,使用變量作用域來(lái)舉例吧'''num = 2def autofunc():num = 1print 'internal block num = %d' % numnum += 1 for i in range(3):print 'The num = %d' % numnum += 1autofunc()'''【程序43】題目:學(xué)習(xí)使用 static 的另一用法。1 .程序分析:2 . 程序源代碼:有一個(gè) static 變量的用法, python 是沒(méi)有,演示一個(gè)python 作用域使用方法'''class Num:nNu

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論