《Python程序設(shè)計(jì)案例教程》課后參考答案 陳素瓊_第1頁(yè)
《Python程序設(shè)計(jì)案例教程》課后參考答案 陳素瓊_第2頁(yè)
《Python程序設(shè)計(jì)案例教程》課后參考答案 陳素瓊_第3頁(yè)
《Python程序設(shè)計(jì)案例教程》課后參考答案 陳素瓊_第4頁(yè)
《Python程序設(shè)計(jì)案例教程》課后參考答案 陳素瓊_第5頁(yè)
已閱讀5頁(yè),還剩36頁(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-6DDDDCA選擇題1、√2、ⅹ3、ⅹ4、ⅹ5、ⅹ能用作標(biāo)識(shí)符的有:A:keyB:oneCarC:一輛車(chē)E:1CookeG:iJ:__init__ K:withYouM:int2bool不能用作標(biāo)識(shí)符的有:D:classF:forN:printO:pass這幾個(gè)為保留字I:x-yH:ThevarL:64B這幾個(gè)不符合標(biāo)識(shí)符命名規(guī)范使用print方法分別輸出整數(shù)、浮點(diǎn)數(shù)、復(fù)數(shù)。print(10)#輸出整數(shù)

print(0x12)

print(789.3434)#輸出實(shí)數(shù)

print(3.6e4)

print(3+4j)#輸出復(fù)數(shù)分別使用浮點(diǎn)數(shù)和Decimal類(lèi)型來(lái)計(jì)算0.1+0.2。fromdecimalimportDecimal

#實(shí)數(shù)方式

a=0.1+0.2

print(a)

print(type(a))

#實(shí)數(shù)方式

b=Decimal("0.1")+Decimal("0.2")

print(b)

print(type(b))查看python的浮點(diǎn)數(shù)信息。importsys

print(sys.float_info)使用input函數(shù)取得輸入的字符串,并使用print函數(shù)打印出來(lái)。print(input('請(qǐng)輸入:'))編寫(xiě)簡(jiǎn)短的程序,打印如下內(nèi)容:你的姓名、生日、以及喜歡的顏色等。格式如下:******************************************你的姓名你的生日以及喜歡的顏色******************************************print('******************************************')

print('張一')

print('2001-09-27')

print('綠色')

print('******************************************')'true'是布爾類(lèi)型嗎,為什么?不是,True才是False是布爾類(lèi)型嗎,為什么?是的表達(dá)式100>50結(jié)果的類(lèi)型的是(A):A.布爾型B.字符串C.數(shù)值類(lèi)型D.整型浮點(diǎn)數(shù)字面常量的寫(xiě)法是什么?十進(jìn)制和科學(xué)計(jì)數(shù)法如:789.78或1.8978e2布爾型字面常量的寫(xiě)法是什么?True和False整型字面常量的寫(xiě)法是什么?十進(jìn)制、二進(jìn)制、八進(jìn)制和十六進(jìn)制如:10、0b1001、0x0a2、0o12字符串常量的寫(xiě)法是什么?單引號(hào)、雙引號(hào)、三單或三雙引起來(lái)的符號(hào)序列如何定義變量?賦值的方式即可,如a=6,定義了整型變量a在Python變量是否可以不經(jīng)過(guò)定義直接使用,為什么?不能,會(huì)拋出異常Python中決定了變量的類(lèi)型后,變量的類(lèi)型就不能改變了。這樣的說(shuō)法是否正確,為什么?說(shuō)法錯(cuò)誤,因?yàn)镻ython作為動(dòng)態(tài)類(lèi)型語(yǔ)言,變量的類(lèi)型會(huì)根據(jù)值改變選擇題DDCDADD填空題1、None2、type()3、id()4、3+4j、3+4J5、96、437、1238、True9、1:2:310、True輸入圓柱體的半徑和高,計(jì)算圓柱體的體積(底面圓面積乘以高)。流程圖:代碼實(shí)現(xiàn):r=float(input('請(qǐng)輸入圓柱底面圓半徑:'));h=float(input('請(qǐng)輸入圓柱的高:'));v=3.1415926*r*r*h;print('圓柱體積為:',v);運(yùn)行結(jié)果:請(qǐng)輸入圓柱底面圓半徑:2請(qǐng)輸入圓柱的高:3圓柱體積為:37.699111200000004已知x=1、y=2,實(shí)現(xiàn)x、y值的交換,即交換后x=2、y=1。流程圖:代碼實(shí)現(xiàn):x=1y=2print('交換前x=',x,',y=',y)t=xx=yy=tprint('交換后x=',x,',y=',y)運(yùn)行結(jié)果:交換前x=1,y=2交換后x=2,y=1給定一個(gè)3位整數(shù),輸出其十位、百位和個(gè)位上的數(shù),如346,其個(gè)位為6、十位為4、百位為3。流程圖:代碼實(shí)現(xiàn):x=int(input('請(qǐng)輸入一個(gè)三位整數(shù):'));bw=x//100print('百位數(shù)為',bw)sw=x%100//10print('百位數(shù)為',sw)gw=x%10print('百位數(shù)為',gw)運(yùn)行結(jié)果:請(qǐng)輸入一個(gè)三位整數(shù):456百位數(shù)為4百位數(shù)為5百位數(shù)為6輸入年齡age,對(duì)其判斷,如果年齡為65,則輸出“恭喜你,達(dá)到法定退休年齡了!”流程圖:代碼實(shí)現(xiàn):age=int(input('請(qǐng)輸入年齡age:'))ifage==65:print('恭喜你,達(dá)到法定退休年齡了!')運(yùn)行結(jié)果:請(qǐng)輸入年齡age:65恭喜你,達(dá)到法定退休年齡了!2、從鍵盤(pán)輸入6位密碼,對(duì)密碼進(jìn)行判斷,如果密碼為‘123456’,則分別輸出“密碼正確!”和“歡迎登陸該系統(tǒng)!”。流程圖:代碼實(shí)現(xiàn):password=input('請(qǐng)輸入密碼:')ifpassword=='123456':print('密碼正確!')print('歡迎登陸該系統(tǒng)!')運(yùn)行結(jié)果:請(qǐng)輸入密碼:123456密碼正確!歡迎登陸該系統(tǒng)!1、判斷一個(gè)數(shù)是否為奇數(shù)。流程圖:代碼實(shí)現(xiàn):x=int(input('請(qǐng)輸入一個(gè)整數(shù):'))ifx%2!=0:print(x,'是奇數(shù)!')else:print(x,'不是奇數(shù)!')運(yùn)行結(jié)果:請(qǐng)輸入一個(gè)整數(shù):88不是奇數(shù)!某快遞公司托運(yùn)物品規(guī)定:重量不超過(guò)50公斤的,托運(yùn)費(fèi)按每公斤0.15元計(jì)費(fèi),如超過(guò)50公斤,超過(guò)部分每公斤加收0.10元。編一程序完成自動(dòng)計(jì)費(fèi)工作。流程圖:代碼實(shí)現(xiàn):x=float(input('請(qǐng)輸入物品的重量(公斤):'))ifx<=50:y=x*0.15else:y=x*0.15+(x-50)*0.1print(x,'公斤的托運(yùn)費(fèi)用為:',y)運(yùn)行結(jié)果:請(qǐng)輸入物品的重量(公斤):5959.0公斤的托運(yùn)費(fèi)用為:9.753、程序員考試分理論知識(shí)和案例分析兩個(gè)科目,在一次程序員考試中,只有兩個(gè)科目分?jǐn)?shù)均達(dá)到45分及以上,才算通過(guò)考試。編一程序?qū)忌欠裢ㄟ^(guò)程序員考試進(jìn)行自動(dòng)計(jì)算。流程圖:代碼實(shí)現(xiàn):k1=int(input('請(qǐng)輸入理論知識(shí)成績(jī)k1:'))k2=int(input('請(qǐng)輸入案例分析成績(jī)k2:'))ifk1>=45&k2>=45:print('恭喜你,通過(guò)考試!')else:print('遺憾,未通過(guò)考試,繼續(xù)努力!')運(yùn)行結(jié)果:請(qǐng)輸入理論知識(shí)成績(jī)k1:45請(qǐng)輸入案例分析成績(jī)k2:34遺憾,未通過(guò)考試,繼續(xù)努力!1、在顯示器上顯示一個(gè)菜單模型,當(dāng)輸入數(shù)字輸出其對(duì)應(yīng)的文字,如輸入4則輸出查詢(xún)。菜單程序的模型如下:1存款2取款3轉(zhuǎn)賬4查詢(xún)5退出請(qǐng)輸入你需要的操作編號(hào):流程圖:代碼實(shí)現(xiàn):print('1存款')print('2取款')print('3轉(zhuǎn)賬')print('4查詢(xún)')print('5退出')id=int(input('請(qǐng)輸入你需要的操作編號(hào):'))ifid==1:print('存款')elifid==2:print('取款')elifid==3:print('轉(zhuǎn)賬')elifid==4:print('查詢(xún)')elifid==5:print('退出')else:print('輸入有誤!')運(yùn)行結(jié)果:1存款2取款3轉(zhuǎn)賬4查詢(xún)5退出請(qǐng)輸入你需要的操作編號(hào):5退出2、根據(jù)某人的BMI值,判定其身高體重指標(biāo)的等級(jí)(小于18.5為“偏瘦”,大于等于18.5且小于24為“正?!保笥诘扔?4且小于27為“偏胖”,大于等于27且小于30為“肥胖”,大于等于30為“重度肥胖”)流程圖:代碼實(shí)現(xiàn):x=float(input('請(qǐng)輸入你需要的BMI值:'))ifx<18.5:print('偏瘦')elifx<24:print('正常')elifx<27:print('偏胖')elifx<30:print('肥胖')else:print('重度肥胖')運(yùn)行結(jié)果:請(qǐng)輸入你需要的BMI值:25偏胖3、輸入一個(gè)不多于5位的正整數(shù),求出它是幾位數(shù),如3457為四位數(shù)。流程圖:代碼實(shí)現(xiàn):x=int(input('輸入一個(gè)不多于5位的正整數(shù):'))ifx<10:print(x,'是一位數(shù)')elifx<100:print(x,'是二位數(shù)')elifx<1000:print(x,'是三位數(shù)')elifx<10000:print(x,'是四位數(shù)')elifx<100000:print(x,'是五位數(shù)')else:print('輸入有誤!')運(yùn)行結(jié)果:輸入一個(gè)不多于5位的正整數(shù):67546754是四位數(shù)1、比較三個(gè)數(shù)大小,輸出最大值。流程圖:代碼實(shí)現(xiàn):x1=int(input('請(qǐng)輸入一個(gè)整數(shù):'))x2=int(input('請(qǐng)輸入一個(gè)整數(shù):'))x3=int(input('請(qǐng)輸入一個(gè)整數(shù):'))ifx1>x2:ifx1>x3:print('最大值為:',x1)else:print('最大值為:',x3)else:ifx2<x3:print('最大值為:',x3)else:print('最大值為:',x2)運(yùn)行結(jié)果:請(qǐng)輸入一個(gè)整數(shù):10請(qǐng)輸入一個(gè)整數(shù):8請(qǐng)輸入一個(gè)整數(shù):3最大值為:10系統(tǒng)登錄時(shí),提示用戶(hù)輸入用戶(hù)名,然后再提示輸入密碼。如果用戶(hù)名是"admin"并且密碼是“123456”則提示正確成功登錄,否則如果用戶(hù)名不是admin提示用戶(hù)名不存在,如果密碼有誤提示密碼有誤。流程圖:代碼實(shí)現(xiàn):username=input('請(qǐng)輸入用戶(hù)名:')password=input('請(qǐng)輸入密碼:')ifusername=='admin':ifpassword=='123456':print('正確登錄成功!')else:print('密碼有誤!')else:print('用戶(hù)名不存在!')運(yùn)行結(jié)果:請(qǐng)輸入用戶(hù)名:admin請(qǐng)輸入密碼:343434密碼有誤!1、輸出50---100范圍內(nèi)所有的奇數(shù)流程圖:代碼實(shí)現(xiàn):i=51whilei<100:print(i)i=i+2運(yùn)行結(jié)果:515355575961636567697173757779818385878991939597992、輸入若干非負(fù)整數(shù),當(dāng)輸入-1程序終止,計(jì)算出輸入數(shù)據(jù)的最大值、最小值和平均值。流程圖:代碼實(shí)現(xiàn):s=n=0x=int(input('請(qǐng)輸入一個(gè)非負(fù)整數(shù):'))max=min=xwhilex!=-1:s=s+xifmax<x:max=xifmin>x:min=xn=n+1x=int(input('請(qǐng)輸入一個(gè)非負(fù)整數(shù):'))ifn>0:avg=s/nprint('最大值為:',max)print('最小值為:',min)print('平均值為:',avg)運(yùn)行結(jié)果:請(qǐng)輸入一個(gè)非負(fù)整數(shù):8請(qǐng)輸入一個(gè)非負(fù)整數(shù):4請(qǐng)輸入一個(gè)非負(fù)整數(shù):2請(qǐng)輸入一個(gè)非負(fù)整數(shù):-1最大值為:8最小值為:2平均值為:4.666666666666667設(shè)置range函數(shù)使其產(chǎn)生序列:97,98……122range(97,133,1)設(shè)置range函數(shù)使其產(chǎn)生序列:4,9,14,19,……99range(4,100,5)設(shè)置range函數(shù)使其產(chǎn)生序列:100,98,96……0,-2……-98,-100range(100,-101,-2)1、輸出1000以?xún)?nèi)能被7整除的前10個(gè)數(shù),其中第5個(gè)數(shù)不輸出。流程圖:代碼實(shí)現(xiàn):n=0foriinrange(1,1000):if(i%7==0):n=n+1ifn==5:continueprint(i,end='')ifn==10:break運(yùn)行結(jié)果:71421284249566370某校在全校10000名學(xué)生中,征集公益圖書(shū)捐贈(zèng),當(dāng)圖書(shū)總數(shù)達(dá)到5000本時(shí)就結(jié)束,統(tǒng)計(jì)此時(shí)捐贈(zèng)圖書(shū)的人數(shù),圖書(shū)總數(shù)以及平均每人捐款的圖書(shū)本數(shù)。流程圖:代碼實(shí)現(xiàn):total=count=0foriinrange(1,1001):n=int(input('請(qǐng)輸入募捐的本數(shù):'))total=total+ncount=count+1iftotal>=5000:breakavg=total//countprint('捐款人數(shù)為:',count)print('共捐贈(zèng)圖書(shū):',total)print('平均每人捐贈(zèng)圖書(shū)數(shù)為:',avg)運(yùn)行結(jié)果:請(qǐng)輸入募捐的本數(shù):40請(qǐng)輸入募捐的本數(shù):506請(qǐng)輸入募捐的本數(shù):789請(qǐng)輸入募捐的本數(shù):1400請(qǐng)輸入募捐的本數(shù):473請(qǐng)輸入募捐的本數(shù):856請(qǐng)輸入募捐的本數(shù):934請(qǐng)輸入募捐的本數(shù):298捐款人數(shù)為:8共捐贈(zèng)圖書(shū):5296平均每人捐贈(zèng)圖書(shū)數(shù)為:6621、打印圖形122333流程圖:代碼實(shí)現(xiàn):foriinrange(1,4):forjinrange(1,i+1):print(i,end='')print()2、求1+2!+3!+...+10!的和流程圖:代碼實(shí)現(xiàn):s=0foriinrange(1,11):p=1forjinrange(1,i+1):p=p*js=s+pprint("s=",s)運(yùn)行結(jié)果:s=40379133、分別用單循環(huán)和雙循環(huán)打印如下黑白相間的星星圖形★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆雙循環(huán)流程圖:代碼實(shí)現(xiàn):foriinrange(1,5):forjinrange(1,6):print('★☆',end='')print()單循環(huán)流程圖:代碼實(shí)現(xiàn):foriinrange(1,21):print('★☆',end='')ifi%5==0:print()選擇題1-5CDCDD6-7CB二、操作題1、從鍵盤(pán)輸入一個(gè)整數(shù)和一個(gè)字符,以逗號(hào)隔開(kāi),在屏幕上顯示輸出一條信息。示例如下:輸入10,@輸出@@@@@@@@@@10@@@@@@@@@@x,c=input('請(qǐng)輸入:').split(',')x=int(x)foriinrange(1,x+1):print(c,end='')print(x,end='')foriinrange(1,x+1):print(c,end='')編寫(xiě)程序,從鍵盤(pán)輸入數(shù)值M和N,求M和N的最大公約數(shù)。m=int(input('請(qǐng)輸入一個(gè)非負(fù)整數(shù):'))n=int(input('請(qǐng)輸入一個(gè)非負(fù)整數(shù):'))ifm<n:m,n=n,m#保證m大于nx=m%nwhile(x!=0):m=nn=xx=m%nprint(n)3、從鍵盤(pán)輸入一個(gè)整數(shù),轉(zhuǎn)換為二進(jìn)制數(shù)輸出顯示在屏幕上,示例如下:輸入12輸出轉(zhuǎn)換成二進(jìn)制數(shù)是:1100x=int(input('請(qǐng)輸入一個(gè)非負(fù)整數(shù):'))a=1s=0while(x//2!=0):#i=x%2ifi!=0:s=s+i*aa=a*10x=x//2ifx%2!=0:s=s+(x%2)*aprint(s)1、定義一個(gè)比較三個(gè)數(shù)大小的函數(shù)。defMax(a,b):ifa>b:returnaelse:returnba=int(input("a="))b=int(input("b="))c=int(input("c="))d1=Max(a,b)d2=Max(d1,c)print("三者中較大的是:",d2)2、分別定義函數(shù),計(jì)算圓的面積和周長(zhǎng)。importmathdefCircleArea(r):s=math.pi*r*rreturnsdefSquareArea(a):s=a*areturnsr=float(input("圓的半徑="))s1=CircleArea(2*r)+SquareArea(r)s2=SquareArea(2*r)-CircleArea(r)s3=CircleArea(r)-(2*r*2*r)/2#正方形面積=對(duì)角線(xiàn)的平方除以2print("圖1陰影部分的面積=",s1)print("圖2陰影部分的面積=",s2)print("圖3陰影部分的面積=",s3)1、從鍵盤(pán)輸入三角形三條邊,利用海倫公式求該三角形的面積。importmathdefTriangle_Area(a,b,c):p=(a+b+c)/2s=math.sqrt(p*(p-a)*(p-b)*(p-c))returnsa=float(input("a="))b=float(input("b="))c=float(input("c="))while1:ifa+b>canda+c>bandb+c>a:breakelse:print("該三邊長(zhǎng)不能構(gòu)成三角形,請(qǐng)您重新輸入:")a=float(input("a="))b=float(input("b="))c=float(input("c="))print("該三角形的面積:",Triangle_Area(a,b,c))2、輸入整數(shù)n,自定義函數(shù),實(shí)現(xiàn)求和:1+(1+2)+(1+2+3)+……+(1+2+3+……+n)。defsum(m):s=0forninrange(1,m+1):s=s+nreturnsdefsumAll(n):s=0forminrange(1,n+1):s=s+sum(m)returnsn=input("n=")n=int(n)print("總和是",sumAll(n))1、自定義函數(shù),求一個(gè)數(shù)的素?cái)?shù)因素,如12,其因素:1,2,3,4,6,12,其中為素?cái)?shù)的只有:2,3,故12的素?cái)?shù)因素:2,3。defIsPrime(m):forninrange(2,m):ifm%n==0:return0return1n=input("n=")n=int(n)forpinrange(1,n+1):ifn%p==0andIsPrime(p)==1:print(p)2、自定義兩個(gè)函數(shù)分別計(jì)算:一個(gè)數(shù)的最大公約數(shù)和最小公倍數(shù)。#最大公約數(shù)defmaxDivider(a,b):Min=aifa<belsebfordinrange(Min,0,-1):ifa%d==0andb%d==0:returnd#最小公倍數(shù)defminMultiplier(a,b):Max=aifa>belsebfordinrange(Max,m+1,1):ifd%a==0andd%b==0:returnd#主程序a=input("a=")b=input("b=")a=int(a)b=int(b)print("最大公約數(shù)",maxDivider(a,b))print("最小公倍數(shù)",minMultiplier(a,b))1、自定義函數(shù),實(shí)現(xiàn)判段一個(gè)三位數(shù)是否是水仙花數(shù),所謂的“水仙花數(shù)”是指一個(gè)三位數(shù)其各位數(shù)字的立方和等于該數(shù)本身,例如153是“水仙花數(shù)”,因?yàn)椋?53=13+53+33。defflower(i):foriinrange(100,1000,1): ge=i%10 shi=i//10%10 bai=i//100 ifge**3+shi**3+bai**3==i: print(i)print("三位數(shù)的水仙花數(shù)如下:")x=int(input("x="))flower(x)2、某公司根據(jù)員工在本公司的工齡決定其可享受的年假天數(shù);defholidays(i): ifi<5: t=i if5=<i<=10: t=5 ifi>10: t=7 returntprint("請(qǐng)輸入你的工齡=")x=float(input())t=holidays(x)print("您的年假天數(shù)是:",t)3、著名的歌德巴赫猜想預(yù)言,任何一個(gè)大于6的偶數(shù)都可以分解成為兩個(gè)素?cái)?shù)的和,例如:6=3+3、8=3+5、10=5+5、12=5+7等,自定義函數(shù)驗(yàn)證在100之內(nèi)的偶數(shù)都可以這樣分解。defIs_Prime(n):foriinrange(2,n):ifn%i==0:return0return1forninrange(6,101,2):forpinrange(3,101,2):q=n-pifIs_Prime(p)==1andIs_Prime(q)==1:print(n,"=",p,"+",q)break1、猴子吃桃deff(n):ifn==10:#第十天桃子數(shù)為一,返回一return1else:return(f(n+1)+1)*2foriinrange(10,0,-1):print(i,"——>",f(i))2、斐波拉契數(shù)列deffab(n):ifn==1orn==2:return1returnfab(n-1)+fab(n-2)print(fab(5))1、一個(gè)數(shù)的平方x=int(input("x="))f=lambdax:x**2print(f(x))2、兩個(gè)數(shù)的乘積x=eval(input("x="))y=eval(input("y="))f=lambdax,y:x*yprint(f(x,y))1、產(chǎn)生隨機(jī)數(shù),并統(tǒng)計(jì)次數(shù)importrandomdeff():alist=[]foriinrange(0,10,1): x=random.randint(1,100) alist.append(x)print(alist)foriinrange(0,10,1):print(alist[i],"出現(xiàn)次數(shù):",alist.count(alist[i]))f()myMoudule.py模塊內(nèi)容:defMax(a,b):ifa>b:returnaelse:returnbdefMin(a,b):ifa<b:returnaelse:returnbdefAbs(a): ifa>0: returna else: return-adefCircleArea(r):s=math.pi*r*rreturnsimportmathdefTriangle_Area(a,b,c):p=(a+b+c)/2s=math.sqrt(p*(p-a)*(p-b)*(p-c))returns一、選擇題DCDDDBA二、編程題1、defisNum(a): iftype(a)==intortype(a)==floatortype(a)=complex: returnTrue else: returnFalsen=input("請(qǐng)輸入一個(gè)字符串:")print(isNum(n))2、defcount_things(i): num=chi=engl=eng2=other=0 k=n.count("") print("空格的個(gè)數(shù)是{}".format(k)) foriinn: if19968<=ord(i)<=40869: chi+=1 elif48<=ord(i)<=57: num+=1 elif97<=ord(i)<=122: eng1+=1 elif65<=ord(i)<=90: eng2+=1 else: total=chi+num+engl+eng2 other=int(len(n)-total) print("漢字的個(gè)數(shù)是{}".format(chi)) print("數(shù)字的個(gè)數(shù)是{}".format(num)) print("小寫(xiě)字母的個(gè)數(shù)是{}".format(eng1)) print("大寫(xiě)字母的個(gè)數(shù)是{}".format(eng2)) print("其他字母的個(gè)數(shù)是{}".format(other))a=input("請(qǐng)輸入一串字符:")count_things(a)3、defprime_number(x=200): forninrange(0,x): t=0 foriinrange(1,n+1): ifn%i!=0: continue else: t+=1 ift==2: print(n,end="")prime_number()簡(jiǎn)述列表的特點(diǎn)和應(yīng)用情景?列表是可變的有序序列,應(yīng)用存放多數(shù)據(jù)元素的情景2、定義列表names=['lily','張三','里斯']和ages=[12,34,56],對(duì)他們進(jìn)行遍歷,按如下格式輸出:lily12student張三34worker里斯56teachernames=['lily','張三','里斯']

ages=[12,34,56]

jobs=['student','worker','teacher']

forname,age,jobinzip(names,ages,jobs):

print(name,age,job)1、簡(jiǎn)述元組的特點(diǎn)?元組是有序的不變序列,一旦定義不能對(duì)其元素進(jìn)行改動(dòng)。2、定義元組t=(1,2,3,4,5),對(duì)它進(jìn)行遍歷t=(1,2,3,4,5)

foriint:

print(i)簡(jiǎn)述字典的特點(diǎn)?字典用于存放具有映射關(guān)系的數(shù)據(jù),它是可變的無(wú)序序列。2、利用字典實(shí)現(xiàn)將實(shí)數(shù)數(shù)字轉(zhuǎn)換為相應(yīng)的中文大寫(xiě)數(shù)字。defconvers(ch):

ls=list(ch)

newls=[]

d={

'0':'零',

'1':'壹',

'2':'貳',

'3':'叁',

'4':'肆',

'5':'伍',

'6':'陸',

'7':'柒',

'8':'捌',

'9':'玖',

'.':'點(diǎn)'

}

foriinls:

newls.append(d[i])

returnnewls

foriinconvers(input('請(qǐng)輸入一個(gè)實(shí)數(shù)')):

print(i,end='')填空題1、[1,2,3,1,2,3,1,2,3]2、False3、None4、[6,7,9,11]5、[5foriinrange(10)]6、[0,2,4]7、有序8、False9、keys()10、values11、\n12、(1,2,3)13、314、115、['abc','efg']二、讀程序1、a,b,ca:b:c2、隨機(jī)生成10位字符串(字符為小寫(xiě)、大寫(xiě)或數(shù)字)三、寫(xiě)程序importrandom

l=[random.randint(1,100)foriinrange(20)]

print(l)

l[1::2]=sorted(l[1::2],reverse=True)

print(l)輸出換行的字符串。print(‘\n’)將一個(gè)字符串分別編碼到gb18030、utf-8編碼格式。并解碼為字符串。s='你好'

print(s.encode("utf-8").decode("utf-8"))

print(s.encode("gb18030").decode("gb18030"))3、定義空字符串。S=’’用戶(hù)輸入一個(gè)字符串和下標(biāo),返回字符串中下標(biāo)位置的字符。s=input('請(qǐng)輸入字符串:')

index=int(input('輸入下標(biāo):'))

print(s[index])用戶(hù)輸入一個(gè)字符串,反向的顯示字符串內(nèi)容。s=input('請(qǐng)輸入字符串:')

l=list(s)

l.reverse()

s=''.join(l)

print(s)3、優(yōu)化“例6.22”的查找子串功能。s=input('請(qǐng)輸入字符串:')

sub=input('請(qǐng)輸入子串:')

ret=s.find(sub)

ifret==-1:

print('沒(méi)有找到!')

else:

print('子串位置為:',ret)1、print('**********************')

print('*1、添加學(xué)生*')

print('**********************')

print('*2、查找學(xué)生*')

print('**********************')

print('*3、顯示列表*')

print('**********************')

print('*4、刪除學(xué)生*')

print('**********************')

print('*5、退出*')

print('**********************')

2、實(shí)現(xiàn)上題功能,添加學(xué)生時(shí),需要判斷新學(xué)生是否在列表中;刪除學(xué)生也需要判斷。#2、編寫(xiě)程序,生成一個(gè)包含20個(gè)隨機(jī)整數(shù)的列表,然后對(duì)其中偶數(shù)下標(biāo)的元素進(jìn)行降序排列,奇數(shù)下標(biāo)的元素不變。

deff():

print('**********************')

print('*1、添加學(xué)生*')

print('**********************')

print('*2、查找學(xué)生*')

print('**********************')

print('*3、顯示列表*')

print('**********************')

print('*4、刪除學(xué)生*')

print('**********************')

print('*5、退出*')

print('**********************')

x=int(input('輸入1-5的一個(gè)整數(shù):'))

ifx==1:

print('添加學(xué)生')

elifx==2:

print('查找學(xué)生')

elifx==3:

print('顯示列表')

elifx==4:

print('刪除學(xué)生')

elifx==5:

print('退出')

f()

編寫(xiě)程序完成取得用戶(hù)輸入的英文字符串信息,先將信息原樣輸出,在將字符串中大寫(xiě)轉(zhuǎn)小寫(xiě)、小寫(xiě)轉(zhuǎn)大寫(xiě)輸出。s=input('輸入英文串:')

ns=[]

foriins:

if'a'<=i<='z':

ns.append(str.upper(i))

elif'A'<=i<='Z':

ns.append(str.lower(i))

else:

ns.append(i)

print(''.join(ns))2、輸入一串以逗號(hào)(,)分割的字符串,將逗號(hào)間的信息提取出來(lái),并輸出。s=input('輸入逗號(hào)分隔的串:')

l=s.split(',')

foriinl:

print(i)編寫(xiě)一個(gè)程序,要求輸入名字和姓氏,然后以“名字,姓氏”的格式打印。a=input('名字:')

b=input('姓氏:')

s=f'{a},'

print(s)編寫(xiě)一個(gè)程序,要求輸入名字,并執(zhí)行以下操作:a.把名字引在雙引號(hào)中打印出來(lái)。b.在寬度為20個(gè)字符的字段內(nèi)打印名字,并且整個(gè)字段應(yīng)在引號(hào)內(nèi)。c.在寬度為20個(gè)字符的字段的左端打印名字,并且整個(gè)字段引在引號(hào)內(nèi)。name=input('名字:')

print('"{}"'.format(name))

print('"{0:20}"'.format(name))

print('"{0:<20}"'.format(name))編寫(xiě)一個(gè)程序,讀取一個(gè)浮點(diǎn)數(shù),并且首先以小數(shù)記數(shù)法,然后以指數(shù)記數(shù)法打印之。x=input('浮點(diǎn)數(shù):')

print(x)

a=x[0]

b=x[1:].replace('.','')

c=len(x.split('.')[0])-1

d=a+'.'+b

y=f'6cgywsqe{c}'

print(y)編寫(xiě)一個(gè)程序,判斷用戶(hù)輸入的字符串是否是一個(gè)浮點(diǎn)數(shù)。importre

x=input('浮點(diǎn)數(shù):')

ret=re.match(r'^(-?\d+)(\.\d+)?$',x)

ifret!=None:

print('是')

else:

print('不是')編寫(xiě)一個(gè)程序,從以下文本中提取標(biāo)簽之間的信息:<a>網(wǎng)頁(yè)連接</a><b>網(wǎng)頁(yè)文字</b><h1>段落標(biāo)題</h1>importre

s='''

<a>網(wǎng)頁(yè)連接</a>

<b>網(wǎng)頁(yè)文字</b>

<h1>段落標(biāo)題</h1>

'''

ret=re.findall(r'>(.*?)<',s)

print(ret)編寫(xiě)一個(gè)程序,找出一段英文文本中的所有單詞。importre

s='iamlily'

ret=re.findall(r"[a-zA-Z0-9]+",s)

print(ret)2、編寫(xiě)一個(gè)程序,匹配年月日日期,日期格式2019-12-26。importre

x='hello2020kkl2021-10-29'

ret=re.findall(r'\d{4}-\d{1,2}-\d{1,2}',x)

print(ret)填空題1、False2、'c:\\test.htm'3、'A'4、’[1,2,3]’5、'65,A'6、'Thefirst:97,thesecondis65'7、'65,0x41,0o101'8、'ab:efg'9、-110、311、112、-113、['abc','efg']14、'1:2:3:4:5'15、'a,b,ccc,ddd'16、'HELLOWORLD'17、'assfff'18、'afff'19、['3','1']20、None1查看文件屬性f=open('e://lines.txt','r',encoding='utf-8')

print()#文件名

print(f.mode)#打開(kāi)模式

print(f.encoding)#編碼方式

print(f.closed)#是否關(guān)閉

f.close()#關(guān)閉文件

print(f.closed)#是否關(guān)閉2、讀寫(xiě)文件withopen('e://a.txt','w',encoding='utf-8')asf:

f.write('hello')#寫(xiě)入串

f.writelines(['hello','python'])#寫(xiě)入字符串列表withopen('e://a.txt','r',encoding='utf-8')asf:

#print(f.read())讀所有字符

#print(f.readline())#讀一行字符

print(f.readlines())#讀所有行返回列表1、importcsv

heads=['學(xué)號(hào)','姓名','年齡']

rows=[

['01','張三',35],

['02','里斯',35],

['03','王五',45]

]

withopen('e://hello.csv','w',newline='')asf:

f_csv=csv.writer(f)

f_csv.writerow(heads)

f_csv.writerows(rows)2、importcsv

withopen('e://hello.csv','r')asf:

f_csv=csv.reader(f)

forrowinf_csv:

print(row)1、importjson

s='''

{

"trans_result":{

"data":[

{

"dst":"你好",

"prefixWrap":0,

"result":[

[

0,

"你好",

[

"0|5"

],

[],

[

"0|5"

],

[

"0|6"

]

]

],

"src":"hello"

}

],

"from":"en",

"status":0,

"to":"zh",

"type":2,

"phonetic":[

{

"src_str":"你",

"trg_str":"nǐ"

},

{

"src_str":"好",

"trg_str":"hǎo"

}

]

}

}

'''

p=json.loads(s)

print(p['trans_result']['data'][0]['dst'])2、importjson

s=[

{

"name":"張三",

"sex":"男",

"age":25

},

{

"name":"李四",

"sex":"女",

"age":36

}

]

withopen('e://hello.json','w',encoding='utf-8')asf:

json.dump(s,f)選擇題1-8CADDDBB1、定義一個(gè)學(xué)生類(lèi),為學(xué)生類(lèi)添加學(xué)號(hào)、姓名、性別、年級(jí)、課程等屬性。classstudent:

def__init__(self,id,name,sex,nj,course):

=name

self.sex=sex

self.course=courseself.id=idself.nj=nj

defstudy(self):

print('canstudy')

deff(self):

print(,self.sex,self.age)1、

classstudent:

def__init__(self,id,name,sex,nj,course):

=name

self.sex=sex

self.course=course

self.id=id

self.nj=nj

defstudy(self):

print('canstudy')

deff(self):

print(,self.sex,self.id,self.nj,end='\t',sep='\t')

foriinself.course:

print(i,sep='\t',end='')

print()

if__name__=='__main__':

stus=[]

stu1=student('001','張三','男','一年級(jí)',['語(yǔ)文','數(shù)學(xué)','英語(yǔ)'])

stu2=student('002','李四','男','二年級(jí)',['語(yǔ)文','數(shù)學(xué)','英語(yǔ)'])

stu3=student('003','王五','男','五年級(jí)',['語(yǔ)文','數(shù)學(xué)','英語(yǔ)','信息技術(shù)'])

stus.append(stu1)

stus.append(stu2)

stus.append(stu3)

forstuinstus:

stu.f()

classprofession:def__init__(self,idcard,name,sex,birth,phone):self.idcard=idcard#身份證號(hào)=name#姓名self.sex=sex#性別self.phone=phone#手機(jī)號(hào)self.birth=birth#出生年月defgo_to_work(self):#上班print('gotowork!')defgo_off_work(self):#下班print('go

溫馨提示

  • 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)論