《Python 程序設(shè)計(新形態(tài)版)》習(xí)題及答案 黃凌霄 第1-8章_第1頁
《Python 程序設(shè)計(新形態(tài)版)》習(xí)題及答案 黃凌霄 第1-8章_第2頁
《Python 程序設(shè)計(新形態(tài)版)》習(xí)題及答案 黃凌霄 第1-8章_第3頁
《Python 程序設(shè)計(新形態(tài)版)》習(xí)題及答案 黃凌霄 第1-8章_第4頁
《Python 程序設(shè)計(新形態(tài)版)》習(xí)題及答案 黃凌霄 第1-8章_第5頁
已閱讀5頁,還剩58頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

習(xí)題2一、選擇題:1.下列選項中,關(guān)于Python標(biāo)識符命名規(guī)則說明正確的是(A)。A.標(biāo)識符的字符可以是字母、數(shù)字或下畫線B.標(biāo)識符可以由數(shù)字開頭C.關(guān)鍵字可以作為標(biāo)識符使用D.標(biāo)識符不區(qū)分大小寫2.下列選項中屬于Python關(guān)鍵字的是(C)。A.For B.delete C.if D.true3.下列選項中合法的變量名是(A)。A._test1 B.Ver1.2 C.return D.211stu4.下列選項中正確的賦值語句是(B)。A.x,y=2 B.x=y=2 C.x=2,y=2 D.x=2,y=x5.下列選項中不是Python基本數(shù)據(jù)類型的是(C)。A.int B.bool C.array D.set6.下列選項關(guān)于Python字符串的描述正確的是(D)。A.Python中的字符串是可變對象B.print('I\'m"OK"')輸出結(jié)果是I'mOKC.表達(dá)式'abc'>'abC'運(yùn)算結(jié)果是FlaseD.使用三重引號創(chuàng)建的字符串可以跨越多行7.下列選項中關(guān)于Python內(nèi)置數(shù)據(jù)類型描述正確的是(B)。A.字符串類型、列表類型和元組類型都是不可變對象類型B.字典的鍵(key)必須是不可變的數(shù)據(jù)類型C.賦值語句L1=[a,b]可以創(chuàng)建列表變量L1,其中每個元素都是字符串D.賦值語句t2=(8)可以創(chuàng)建元組變量t2,其中有1個整型元素8.下列選項中表達(dá)式運(yùn)算結(jié)果與其他選項不同的是(D)。A.2**2 B.2*2.0 C.-9//-2 D.-9%-59.設(shè)a=2,b=3,表達(dá)式a>Trueanda<b的值是(A)。A.True B.False C.true D.false10.表達(dá)式sum((2,3,4))運(yùn)算結(jié)果是(C)。A.234 B.(2,3,4) C.9 D.2411.下列選項中,不能計算3的4次冪的表達(dá)式的是(D)。A.3*3*3*3 B.3**4 C.pow(3,4) D.pow(4,3)12.創(chuàng)建一個包含從2到10的偶數(shù)列表對象,下列選項能夠創(chuàng)建該對象的表達(dá)式是(C)。A.list(range(2,10,2)) B.list(range(0,10,2))C.list(range(2,12,2)) D.list(range(0,12,2))13.函數(shù)all(["Monday",2,0])的運(yùn)算結(jié)果是(C)。A.None B.True C.False D.0二、填空題1.將數(shù)學(xué)表達(dá)式-3x+24≥(x+7)÷5改寫為Python表達(dá)式是-3*x+24>=(x+7)/5。2.函數(shù)eval("3+2")的運(yùn)算結(jié)果是5。3.表達(dá)式2**4-15//2+10%3*7的運(yùn)算結(jié)果是16。4.假設(shè)已導(dǎo)入math模塊,計算265的平方根的語句是math.pow(265,0.5)。5.假設(shè)已導(dǎo)入random模塊,在1到20的范圍內(nèi)生成隨機(jī)整數(shù)的語句是random.randint(1,20)。6.turtle.dot(50,"red")在繪圖區(qū)完成的功能是繪制一個直徑為50個像素,顏色為紅色的圓點。7.time.sleep(5)在程序執(zhí)行過程中完成的功能是程序執(zhí)行過程中暫停2秒。三、編程題1.已知x=2,y=7,在IDLE環(huán)境下計算下列數(shù)學(xué)表達(dá)式的值。①|(zhì)xy-yx|>>>abs(x*y-y*x)0②?x+>>>(-x+pow(x**2-4*y,0.5))/(2*y)(-0.14285714285714285+0.34992710611188255j)③x>>>x*math.cos((math.pi*x)/2)+y*math.sin((math.pi*y)/2)-9.0④x>>>x**3/math.factorial(3)+y**5/math.factorial(5)141.391666666666682.在IDLE下完成以下任務(wù)。①生成1到20的奇數(shù)列表。>>>x=list(range(1,20,2))>>>print(x,type(x))[1,3,5,7,9,11,13,15,17,19]<class'list'>②將①中的列表轉(zhuǎn)換為元組類型。>>>y=tuple(x)>>>print(y,type(y))(1,3,5,7,9,11,13,15,17,19)<class'tuple'>③計算②的元組中元素的和。>>>sum(y)100④計算②的元組中元素的個數(shù)。>>>len(y)10⑤在畫布中心繪制線條為紅色的正方形,其中邊長是大于等于50、小于等于100的隨機(jī)整數(shù)。>>>importrandom #導(dǎo)入random模塊>>>importturtle #導(dǎo)入turtle模塊>>>turtle.setup(300,300) #創(chuàng)建畫布>>>turtle.pencolor('red') #設(shè)置畫筆顏色>>>#設(shè)置邊長為大于等于50、小于等于100的隨機(jī)整數(shù)>>>side_length=random.randint(50,100)>>>#繪制正方形>>>turtle.forward(side_length)#第1條邊>>>turtle.left(90)>>>turtle.forward(side_length)#第2條邊>>>turtle.left(90)>>>turtle.forward(side_length)#第3條邊>>>turtle.left(90)>>>turtle.forward(side_length)#第4條邊>>>turtle.left(90)習(xí)題3選擇題1.執(zhí)行語句a=input(""),當(dāng)用戶輸入2+3時,變量a的值是()。A、2B、3C、5D、’2+3’2.執(zhí)行語句a=input("").split(","),當(dāng)用戶想輸入a1,b2,c3時,以下正確的操作是(C)。A、a1b2c3B、a1*b2*c3*C、a1,b2,c3D、以上都可以3.語句print("%e=%f"%(674.5,674.5))的輸出結(jié)果(C)。A、674.5=6.745e+02 B、674.500000=6.745000e+02C、6.745000e+02=674.500000D、674.5=6.745000E+024.語句print("%08d%+3.2f"%(1234,1234))的輸出結(jié)果(A)。A、00001234+1234.00 B、00001234+123.40C、1234.00+00001234 D、1234.00+00012345.語句str1="goodgoodstudy"print("%3.4s%5.4s"%(str1,str1))的輸出結(jié)果(D)。A、googoo B、googoodC、goodgoo D、goodgood6.語句print("{2}{1}、{0}、{3}".format('張三',89,'李四',98))的輸出結(jié)果(D)。A、李四98、89、98 B、張三98、89、98C、張三89、李四、98 D、李四89、張三、987.語句print("{}=0x{:04o}=0o{:04x}".format(15,15,15))的輸出結(jié)果(B)。A、15=0o0017=0x000f B、15=0x0017=0o000fC、15=0o17=0xf D、15=0o15=0x158.語句print("{:&>6d}".format(89))的輸出結(jié)果是(B)。A、89&&&&B、&&&&89C、>>>>89D、89>>>>9.語句print("{:0^6d}".format(89))的輸出結(jié)果是(A)。A、008900B、800009C、000089D、89000010.語句print("{:<6},{:,d}元".format("筆記本",89))的輸出結(jié)果是(D)。A、&&&筆記本,89元B、筆記本&&&,89元C、筆記本,89元D、筆記本,89元填空題1.語句print(1,2,3,sep="*")的輸出結(jié)果___1*2*3___。2.語句print(4,5,6,sep="/",end="+")的輸出結(jié)果____4/5/6+____。3.語句print("%f+%f="%(8,9))的輸出結(jié)果_____8.000000+9.000000=_____。4.語句print("{},{}".format("年齡",18))的輸出結(jié)果_____年齡,18_______。5.語句print("{0},{1}".format("年齡",18))的輸出結(jié)果_____年齡,18_______。6.語句print("{1},{0},{1}".format("年齡",18))的輸出結(jié)果____18,年齡,18___。7.語句print("{:X}".format(16))的輸出結(jié)果___10___。8.語句print("{:*^10}".format('中華民族'))的輸出結(jié)果___***中華民族***___。9.語句print("{:-^20}".format('123456'))的輸出結(jié)果____123456___。10.語句print("{:<12.5}".format("python!"))的輸出結(jié)果是__pytho____。編程題1.程序運(yùn)行時輸入“小華”后,請寫出下列語句的運(yùn)行結(jié)果:inta=input("請輸入:")stra="我愛祖國"print(inta,stra)lista=[1,2,"團(tuán)結(jié)",3,4]print(lista)print("少年強(qiáng)","則國強(qiáng)",sep="")print("少年強(qiáng)","則國強(qiáng)",sep=",")print("少年強(qiáng)","則國強(qiáng)",sep="_-_")print("少年富",end="")print("則國富")運(yùn)行結(jié)果為:請輸入:小華小華我愛祖國[1,2,'團(tuán)結(jié)',3,4]少年強(qiáng)則國強(qiáng)少年強(qiáng),則國強(qiáng)少年強(qiáng)_-_則國強(qiáng)少年富則國富2.從鍵盤輸入一個大寫字母,輸出它的小寫字母。x=input("請輸入一個大寫字母:")iflen(x)==1andx.isupper():#檢查輸入是否合法y=x.lower()#轉(zhuǎn)換為小寫字母print(f"對應(yīng)的小寫字母是:{y}")else:print("由于輸入的不是單個大寫字母,任務(wù)無法完成。")運(yùn)行結(jié)果為:請輸入一個大寫字母:E對應(yīng)的小寫字母是:e3.從鍵盤輸入球體的半徑,輸出球體的表面積和體積。importmathr=float(input("請輸入球體的半徑:"))s=4*math.pi*r**2v=(4/3)*math.pi*r**3print(f"球體的表面積為:{s:.2f}")print(f"球體的體積為:{v:.2f}")運(yùn)行結(jié)果為:請輸入球體的半徑:6球體的表面積為:452.39球體的體積為:904.784.從鍵盤輸入三個字符串,輸出它們并以*來分隔字符串。str1=input("請輸入第一個字符串:")str2=input("請輸入第二個字符串:")str3=input("請輸入第三個字符串:")result=f"{str1}*{str2}*{str3}"print("連接后的字符串:",result)運(yùn)行結(jié)果為:請輸入第一個字符串:愛國請輸入第二個字符串:敬業(yè)請輸入第三個字符串:富強(qiáng)連接后的字符串:愛國*敬業(yè)*富強(qiáng)5.從鍵盤輸入三個整數(shù),輸出它們的和以及平均值,平均值要求保留兩位小數(shù)。num1=int(input("請輸入第一個整數(shù):"))num2=int(input("請輸入第二個整數(shù):"))num3=int(input("請輸入第三個整數(shù):"))total=num1+num2+num3average=total/3print(f"三個數(shù)的和為:{total}")print(f"三個數(shù)的平均值為:{average:.2f}")運(yùn)行結(jié)果為:請輸入第一個整數(shù):10請輸入第二個整數(shù):20請輸入第三個整數(shù):30三個數(shù)的和為:60三個數(shù)的平均值為:20.006.從鍵盤輸入一個十進(jìn)制整數(shù),輸出它的八進(jìn)制數(shù)。x=int(input("請輸入一個十進(jìn)制整數(shù):"))y=oct(x)print(f"對應(yīng)的八進(jìn)制數(shù)為:{y[2:]}")運(yùn)行結(jié)果為:請輸入一個十進(jìn)制整數(shù):55對應(yīng)的八進(jìn)制數(shù)為:67習(xí)題4選擇題1.以下關(guān)于分支選擇結(jié)構(gòu)的描述中,錯誤的是___A___。A、二分支結(jié)構(gòu)有一種緊湊形式,使用保留字if和elif實現(xiàn)B、if語句中條件部分可以使用任何能夠產(chǎn)生True和False的語句和函數(shù)C、if語句中語句塊執(zhí)行與否依賴于條件判斷D、多分支結(jié)構(gòu)用于設(shè)置多個判斷條件以及對應(yīng)的多條執(zhí)行路徑2.關(guān)于Python縮進(jìn)的描述,錯誤的選項是__D____。A、Python通過強(qiáng)制縮進(jìn)來體現(xiàn)語句間的邏輯關(guān)系B、Python縮進(jìn)在單個結(jié)構(gòu)體語句(比如某個循環(huán)體)中必須一致C、Python的分支、循環(huán)、函數(shù)可以通過縮進(jìn)包含多行代碼D、Python使用縮進(jìn)表示代碼塊,縮進(jìn)必須固定采用4個空格3.以下關(guān)于Python循環(huán)結(jié)構(gòu)的描述中,錯誤的是___C___。A.while循環(huán)使用break關(guān)鍵字能夠跳出所在層循環(huán)體B.while循環(huán)可以使用關(guān)鍵字break和continueC.while循環(huán)也叫遍歷循環(huán),用來遍歷序列類型中元素,默認(rèn)提取每個元素并執(zhí)行一次循環(huán)體D.while循環(huán)使用pass語句,則什么事也不做,只是空的占位語句4.當(dāng)用戶輸入apple,banana,bear時,以下代碼的運(yùn)行結(jié)果是___B___a=input("").split(",")x=0whilex<len(a):print(a[x],end="&")x=x+1A.apple&banana&bearB.apple&banana&bear&C.apple,banana,bearD.執(zhí)行出錯5.運(yùn)行以下程序,輸入ab,然后按回車鍵,結(jié)果是_C__。k=10whileTrue:s=input('請輸入q退出:')ifs=='a':k+=1continueelse:k+=2breakprint(k)A.13B.請輸入q退出:C.12D.106.在Python語言中,使用for???in???方式形成的循環(huán)不能遍歷的類型是___C___。A.字典B.列表C.浮點數(shù)D.字符串7.以下程序的運(yùn)行結(jié)果是___B___。s=2foriinrange(1,10):s+=iprint(s)A.45B.47C.57D.558.以下程序的運(yùn)行結(jié)果是___C___。foriinrange(1,6):ifi%4==0:breakelse:print(i,end=",")A.1,2,3,5,B.1,2,3,4,C.1,2,3,D.1,2,3,5,69.以下程序的運(yùn)行結(jié)果是__B____。letter=['a','b','c']forxinletter:print(x,end="")A.aB.abcC.abcabcD.abcabcabc10.以下程序的運(yùn)行結(jié)果是___B___。forainrange(1,3,1):print(a,end="")A.1B.12C.123D.123411.以下程序的運(yùn)行結(jié)果是___B___。foriin"Nation":forkinrange(2):ifi=='n':breakprint(i,end="")A.aattiiooB.nC.NaattiioonD.nn12.以下程序的運(yùn)行結(jié)果是__D____。a=[[1,2,3],[4,5,6],[7,8,9]]s=0forcina:forjinrange(3):s+=c[j]print(s)A.6B.0C.24D.4513.以下程序的運(yùn)行結(jié)果是___D___。ls=[]formin'AB':fornin'CD':ls.append(m+n)print(ls)A.ABCDB.AABBCCDDC.ACADBCBDD.['AC','AD','BC','BD']二、填空題1.Python的多分支選擇結(jié)構(gòu)中可以包含多個___elif______語句。2.Python中,結(jié)束當(dāng)次循環(huán)但不退出整個循環(huán)的語句是_continue_______,退出整個循環(huán)的語句是____break_____。3.在while語句的表達(dá)式中,0代表False,___非0___代表True。4.語句foriinrange(8,2,-2):print(i)的運(yùn)行結(jié)果為864_5.語句foriinrange(20,1,-3)循環(huán)次數(shù)為__7____。6.以下程序的運(yùn)行結(jié)果是__123____。a=[3,2,1]foriina[::-1]:print(i,end='')7.以下程序的運(yùn)行結(jié)果是___book___。foriinrange(1,10,2):print("book")breakelse:print(i)8.以下程序的運(yùn)行結(jié)果是___111222333___。foriin"123":forjinrange(3):print(i,end="")ifi=="3":continue9.以下程序的運(yùn)行結(jié)果是__123426____。x=4ca='123456'ifstr(x)inca:print(ca.replace(ca[x],str(x-2)))10.鍵盤輸入數(shù)字5,以下代碼的運(yùn)行結(jié)果是___3___。n=eval(input("請輸入一個整數(shù):"))s=0ifn>=5:n?=1s=4ifn<5:n?=1s=3print(s)三、編程題1.寫出程序的運(yùn)行結(jié)果(1)程序代碼如下所示。i=0whilei<5:i+=1print("%d的平方值為%d"%(i,i*i))運(yùn)行結(jié)果為:1的平方值為12的平方值為43的平方值為94的平方值為165的平方值為25(2)程序代碼如下所示。x=1y=0whiley<3:y=y+2*xx=x+1print('y值為{}'.format(y))print('對應(yīng)的x值為{}'.format(x))運(yùn)行結(jié)果為:y值為6對應(yīng)的x值為3(3)程序代碼如下所示。foriinrange(10):forjinrange(10):ifi+j>16:print('{}+{}={}'.format(i,j,i+j))運(yùn)行結(jié)果為:8+9=179+8=179+9=18(4)程序代碼如下所示。foriinrange(1,7):forjinrange(i):print(i-j,end='')print()運(yùn)行結(jié)果為:121321432154321654321(5)程序代碼如下所示。foriinrange(1,10):sum=1forjinrange(1,i):ifi%j==0:sum+=jifsum==i:print(i)運(yùn)行結(jié)果為:24488882.編寫程序(1)從鍵盤輸入任意一個整數(shù),判斷是否是3的倍數(shù)。num=int(input("請輸入一個整數(shù):"))ifnum%3==0:print(f"{num}是3的倍數(shù)")else:print(f"{num}不是3的倍數(shù)")運(yùn)行結(jié)果為:請輸入一個整數(shù):88不是3的倍數(shù)(2)輸出100以內(nèi)所有能被3整除但是不能被5整除的整數(shù)。fornuminrange(1,101):ifnum%3==0andnum%5!=0:print(num,end='')運(yùn)行結(jié)果為:369121821242733363942485154576366697278818487939699(3)從鍵盤輸入一個字符串,將其中的小寫字母全部轉(zhuǎn)換成大寫字母,其他字符原樣輸出。str=input("請輸入一個字符串:")converted_str=""forcharinstr:if'a'<=char<='z':#判斷是否是小寫字母converted_str+=chr(ord(char)-32)#轉(zhuǎn)換為大寫else:converted_str+=charprint("轉(zhuǎn)換結(jié)果:",converted_str)運(yùn)行結(jié)果為:請輸入一個字符串:asd轉(zhuǎn)換結(jié)果:ASD(4)計算10到50的整數(shù)和。total=0fornuminrange(10,51):total+=numprint("10到50的整數(shù)和為:",total)運(yùn)行結(jié)果為:10到50的整數(shù)和為:1230(5)從鍵盤輸入任意兩個整數(shù),輸出它們之間所有的偶數(shù)之和。num1=int(input("請輸入第一個整數(shù):"))num2=int(input("請輸入第二個整數(shù):"))start=min(num1,num2)end=max(num1,num2)even_sum=0fornuminrange(start,end+1):ifnum%2==0:even_sum+=numprint(f"{start}到{end}之間所有偶數(shù)的和為:{even_sum}")運(yùn)行結(jié)果為:請輸入第一個整數(shù):10請輸入第二個整數(shù):2510到25之間所有偶數(shù)的和為:136(6)從鍵盤輸入一個大于0且小于等于10的整數(shù),輸出它的階乘。whileTrue:n=int(input("請輸入一個大于0且小于等于10的整數(shù):"))if0<n<=10:breakelse:print("輸入超出范圍,請重新輸入!")f=1foriinrange(1,n+1):f*=iprint(f"{n}的階乘是:{f}")運(yùn)行結(jié)果為:請輸入一個大于0且小于等于10的整數(shù):0輸入超出范圍,請重新輸入!請輸入一個大于0且小于等于10的整數(shù):66輸入超出范圍,請重新輸入!請輸入一個大于0且小于等于10的整數(shù):55的階乘是:120(7)從鍵盤輸入一個整數(shù),判斷是否是素數(shù)。n=int(input("請輸入一個整數(shù):"))ifn<=1:print(f"{n}不是素數(shù)")ifn==2:#2是唯一的偶素數(shù)print(f"{n}是素數(shù)")ifn%2==0:#排除所有偶數(shù)print(f"{n}不是素數(shù)")x=0foriinrange(2,n,1):ifn%i==0:print(f"{n}不是素數(shù)")breakelse:x=x+1ifx==n-2:print(f"{n}是素數(shù)")運(yùn)行結(jié)果為:請輸入一個整數(shù):2121不是素數(shù)(8)輸入任意兩個整數(shù),輸出它們的最大公約數(shù)和最小公倍數(shù)。num1=int(input("請輸入第一個整數(shù):"))num2=int(input("請輸入第二個整數(shù):"))ifnum1==0andnum2==0:gcd_result=0elifnum1==0:gcd_result=num2elifnum2==0:gcd_result=num1else:#輾轉(zhuǎn)相除法temp_a,temp_b=num1,num2whiletemp_b!=0:temp=temp_btemp_b=temp_a%temp_btemp_a=tempgcd_result=temp_a#計算最小公倍數(shù)(LCM)ifnum1==0ornum2==0:lcm_result=0else:lcm_result=(num1*num2)//gcd_result#輸出結(jié)果print(f"{num1}和{num2}的最大公約數(shù)是:{gcd_result}")print(f"{num1}和{num2}的最小公倍數(shù)是:{lcm_result}")運(yùn)行結(jié)果為:請輸入第一個整數(shù):8請輸入第二個整數(shù):608和60的最大公約數(shù)是:48和60的最小公倍數(shù)是:120(9)輸出斐波那契數(shù)列(Fibonaccisequence)的前20項。a,b=0,1print("斐波那契數(shù)列前20項:")foriinrange(20):print(a,end='')a,b=b,a+b運(yùn)行結(jié)果為:斐波那契數(shù)列前20項:01123581321345589144233377610987159725844181(10)輸出所有的水仙花數(shù)。水仙花數(shù)是一個三位數(shù),并且個位數(shù)的立方加上十位數(shù)的立方,再加上百位數(shù)的立方的和恰好等于它自己。例如153=13+53+33,所以153是水仙花數(shù)。print("所有的三位水仙花數(shù):")fornuminrange(100,1000):hundreds=num//100#百位數(shù)tens=(num//10)%10#十位數(shù)units=num%10#個位數(shù)sum_of_cubes=hundreds**3+tens**3+units**3ifsum_of_cubes==num:print(num,end='')運(yùn)行結(jié)果為:所有的三位水仙花數(shù):153370371407(11)百錢買百雞:一百元錢買一百只雞,其中一只公雞5元,一只母雞3元,三只小雞一元,輸出所有成功的組合方案。print("百錢買百雞的所有可能方案:")print("公雞\t母雞\t小雞")forcockinrange(0,21):#公雞最多買20只forheninrange(0,34):#母雞最多買33只chick=100-cock-hen#小雞數(shù)量ifchick%3==0:#小雞數(shù)量必須是3的倍數(shù)cost=5*cock+3*hen+chick//3ifcost==100:#總花費(fèi)正好100元print(f"{cock}\t{hen}\t{chick}")運(yùn)行結(jié)果為:百錢買百雞的所有可能方案:公雞 母雞 小雞0 25 754 18 788 11 8112 4 84(12)繪制紅色的6瓣花朵。importturtleimportmath#設(shè)置畫布screen=turtle.Screen()screen.bgcolor("white")#創(chuàng)建畫筆pen=turtle.Turtle()pen.speed(10)#設(shè)置繪制速度pen.color("red")pen.width(2)#繪制6瓣花朵defdraw_petal():foriinrange(2):pen.circle(100,60)#畫60度的弧pen.left(120)#左轉(zhuǎn)120度pen.begin_fill()#開始填充顏色for_inrange(6):draw_petal()pen.left(60)#旋轉(zhuǎn)60度畫下一個花瓣pen.end_fill()#結(jié)束填充運(yùn)行結(jié)果為:習(xí)題5選擇題1.在Python中,以下關(guān)于字符串的描述正確的是(C)。A.字符串中字符的長度為1或2或3B.字符串中的字符可以進(jìn)行數(shù)學(xué)運(yùn)算,但進(jìn)行數(shù)學(xué)運(yùn)算的字符必須為數(shù)字C.在三引號字符串中可包含換行符回車符等特殊字符D.字符串只可以使用一對英文單引號進(jìn)行創(chuàng)建2.在Python中,使用函數(shù)方法創(chuàng)建空字符串的正確操作是(D)。A.str1=""B.str2=""C.str3=str()D.str4=str()3.在Python中,下列哪個選項是表示換行符的轉(zhuǎn)義字符(A)。A.\nB.\tC.\rD.\v4.以下語句中,哪個選項是錯誤的字符串賦值方式,會出現(xiàn)SyntaxError(B)。A.strA='滿江紅名句:"莫等閑,白了少年頭,空悲切。"'B.strA="滿江紅名句:"莫等閑,白了少年頭,空悲切。""C.strA="滿江紅名句:\"莫等閑,白了少年頭,空悲切。\""D.strA='滿江紅名句:\'莫等閑,白了少年頭,空悲切。\''5.在Python中,以下語句執(zhí)行結(jié)果正確的是(C)。tstr='12345678'print(tstr[1:-1:2])A.24B.1357C.246D.24686.在Python中,以下語句執(zhí)行結(jié)果正確的是(D)。Str1="現(xiàn)在,青春是用來奮斗的;將來,青春是用來回憶的。"print(Str1.replace("青春","歲月",1))A.現(xiàn)在,歲月是用來奮斗的;將來,歲月是用來回憶的。B.現(xiàn)在,青春是用來奮斗的;將來,歲月是用來回憶的。C.現(xiàn)在,青春是用來奮斗的;將來,青春是用來回憶的。D.現(xiàn)在,歲月是用來奮斗的;將來,青春是用來回憶的。7.在Python中,以下語句執(zhí)行結(jié)果正確的是(B)。Str2="照鏡子、正衣冠、洗洗澡、治治病"split_Str2=Str2.split("、",1)print(split_Str2)A.['照鏡子','正衣冠','洗洗澡','治治病']B.['照鏡子','正衣冠、洗洗澡、治治病']C.('照鏡子','正衣冠','洗洗澡','治治病')D.('照鏡子','正衣冠、洗洗澡、治治病')8.在Python中,執(zhí)行以下語句,哪個正則表達(dá)式可以匹配以"不忘初心"開頭的字符串(B)。importres="不忘初心,牢記使命。"A.re.findall(r"不忘初心$",s)B.re.findall(r"^不忘初心",s)C.re.findall(r"\B不忘初心",s)D.re.findall(r"\d不忘初心",s)9.在Python中,以下哪個正則表達(dá)式可以匹配字符串中連續(xù)出現(xiàn)的數(shù)字"222"(C)。A.2*B.2+C.2{3}D.2{2,}10.在Python中,re模塊中的哪個方法用于將字符串用指定分隔符進(jìn)行分隔,并返回分隔后的字符串列表(C)。A.findall()B.sub()C.split()D.search()填空題在Python中,表示回車的轉(zhuǎn)義字符是\r。字符串strA='打鐵必須自身硬',其中strA[5]表示的字符是'身'。字符串strB='精準(zhǔn)扶貧、精準(zhǔn)脫貧',其中strB[7:8]表示的字符是'脫貧'。對字符串strC="互聯(lián)網(wǎng)+教育"進(jìn)行print(strC.center(9,"*"))的輸出,輸出結(jié)果為**互聯(lián)網(wǎng)+教育*。對字符串strD="綠水青山就是金山銀山"進(jìn)行print(strD.rfind("山"))的操作,輸出結(jié)果為9。對字符串strE="五講-四美-三熱愛"進(jìn)行從右向左以連字符"-"為分隔的分割操作,切割一次后得到的元組為('五講-四美','-','三熱愛')。對字符串strF="appleorangebanana"使用正則表達(dá)式re.findall(r"\w\w\w\w",strF),匹配的結(jié)果是['appl','oran','bana']。對字符串strG="abc123def456ghi"進(jìn)行re.sub(r"\d+","*",strG)的操作,返回的結(jié)果是'abc*def*ghi'。編程題輸入一個包含數(shù)字的英文字符串,統(tǒng)計字母和數(shù)字出現(xiàn)的次數(shù)和頻率。str1=input("請輸入一個包含數(shù)字的英文字符串:")zimu_count=0shuzi_count=0forcharinstr1:ifchar.isalpha():#判斷是否是字符串中的字母zimu_count+=1elifchar.isdigit():#判斷是否是字符串中的字母shuzi_count+=1total=len(str1)zimu_frequency=zimu_count/totalshuzi_frequency=shuzi_count/totalprint("字母出現(xiàn)次數(shù):",zimu_count)print("數(shù)字出現(xiàn)次數(shù):",shuzi_count)print("字母頻率:",zimu_frequency)print("數(shù)字頻率:",shuzi_frequency)運(yùn)行結(jié)果為:請輸入一個包含數(shù)字的英文字符串:ThePeople'sRepublicofChinawasestablishedonOctober1,1949.字母出現(xiàn)次數(shù):48數(shù)字出現(xiàn)次數(shù):5字母頻率:0.7272727272727273數(shù)字頻率:0.07575757575757576開發(fā)敏感詞過濾程序,提示用戶輸入內(nèi)容,如果用戶輸入的內(nèi)容中包含“暴力”和“詐騙”,則將該內(nèi)容用**替換。例如,輸入內(nèi)容:“2023年全國各地開展了護(hù)苗運(yùn)動,提醒青少年上網(wǎng)要注意:涉及暴力、涉及詐騙的信息,不要輕易相信!”運(yùn)行后輸出:“2023年全國各地開展了護(hù)苗運(yùn)動,提醒青少年上網(wǎng)要注意:涉及**、涉及**的信息,不要輕易相信!”whileTrue:str1=input('請輸入內(nèi)容:')if"暴力"instr1or"詐騙"instr1:v=str1.replace('暴力','**')v1=v.replace('詐騙','**')print(v1)else:print(str1)運(yùn)行結(jié)果為:請輸入內(nèi)容:2023年全國各地開展了護(hù)苗運(yùn)動,提醒青少年上網(wǎng)要注意:涉及暴力、涉及詐騙的信息,不要輕易相信!2023年全國各地開展了護(hù)苗運(yùn)動,提醒青少年上網(wǎng)要注意:涉及**、涉及**的信息,不要輕易相信!編寫程序,提示用戶輸入一個包含數(shù)字的字符串,將字符串中的數(shù)字字符取出,生成一個新的字符串。str1=input('請輸入內(nèi)容:')str2=''forxinstr1:if'0'<=x<='9':str2+=xprint(str2)運(yùn)行結(jié)果為:請輸入內(nèi)容:2023年3月5日,第十四屆全國人民代表大會第一次會議在北京人民大會堂開幕。202335編寫程序,提示用戶輸入兩個字符串,并取出兩個字符串中的公共字符。str1=input('請輸入str1內(nèi)容:')str2=input('請輸入srt2內(nèi)容:')str3=''forxinstr1:ifxinstr2:str3+=xprint("兩個字符串中的公共字符是:",str3)運(yùn)行結(jié)果為:請輸入str1內(nèi)容:努力奮斗,夢想照進(jìn)現(xiàn)實。請輸入srt2內(nèi)容:人生因奮斗而精彩,青春因拼搏而亮麗。兩個字符串中的公共字符是:奮斗,。編寫程序,提示用戶輸入內(nèi)容,統(tǒng)計字符串中單詞的個數(shù)。importres=input('請輸入內(nèi)容:')result=re.findall(r"\b[a-zA-Z]+\b",s)print(result)print("單詞個數(shù)為:",len(result))運(yùn)行結(jié)果為:請輸入內(nèi)容:一份耕耘,一份收獲。(Nopains,nogains.)['No','pains','no','gains']單詞個數(shù)為:4輸入一個手機(jī)號碼,手機(jī)號碼格式為:第1位是1,第2位可以是3、4、5、6、7、8、9的11位數(shù)字,使用正則表達(dá)式判斷手機(jī)號碼是否有效。importrestr1=input("請輸入手機(jī)號碼:")pattern=r"1[3456789]\d{9}$"matches=re.findall(pattern,str1)ifmatches:fornumberinmatches:print(number,"是有效手機(jī)號碼!")else:print("不是有效手機(jī)號碼!")運(yùn)行結(jié)果為:請輸入手機(jī)號碼:1512345678915123456789是有效手機(jī)號碼!請輸入手機(jī)號碼:151234567890不是有效手機(jī)號碼!編寫程序,輸入一個字符串,該字符串為網(wǎng)址文本,使用正則表達(dá)式驗證該網(wǎng)址是否有效。本題有效網(wǎng)址的格式為:^(http|https)://匹配起始位置以http://或https://開頭;[a-zA-Z0-9.-]+匹配由一個或多個字母、數(shù)字、點號或連字符構(gòu)成的域名部分;\.匹配分隔域名和頂級域名的一個點號;[a-zA-Z]{2,4}匹配由兩個到四個字母構(gòu)成的頂級域名;(/\S*)?匹配可選的路徑部分,包括一個斜杠后面跟隨零個或多個非空白字符;$匹配字符串的結(jié)束位置。importreurl=input("請輸入一個網(wǎng)址:")pattern=r"^(http|https)://[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}(/\S*)?$"#創(chuàng)建模式對象ifre.match(pattern,url):#使用match方法匹配輸入網(wǎng)址是否有效print("該網(wǎng)址有效。")else:print("該網(wǎng)址無效。")運(yùn)行結(jié)果為:請輸入一個網(wǎng)址:該網(wǎng)址無效。請輸入一個網(wǎng)址:該網(wǎng)址有效。習(xí)題6一、選擇題1.在Python中,以下語句執(zhí)行結(jié)果正確的是(B)。list1=["愛國","敬業(yè)"]list1.append(["誠信","友善"])list1.extend(["誠信","友善"])print(list1)A.["愛國","敬業(yè)","誠信","友善"]B.["愛國","敬業(yè)",["誠信","友善"],"誠信","友善"]C.["愛國","敬業(yè)","誠信","友善",["誠信","友善"]]D.["愛國","敬業(yè)","誠信","友善","誠信","友善"]2.在Python中,以下語句執(zhí)行結(jié)果正確的是(D)。lst=[1,2,3,4,5,6]dellst[1]dellst[-1]print(lst)A.[2,3,4,5]B.[1,3,4,6]C.[2,3,4,5,6]D.[1,3,4,5]3.在Python中,以下語句執(zhí)行結(jié)果正確的是(C)。a=[6,8,2,5]b=a.sort()print(a)A.[6,8,2,5]B.[8,6,5,2]C.[2,5,6,8]D.[5,2,8,6]4.在Python中,以下語句執(zhí)行結(jié)果正確的是(A)。lst=["扣","好","人","生","第","一","粒","扣","子"]lst.pop(2)dellst[2:6]lst.remove("扣")print(lst)A.['好','扣','子']B.['扣','好','扣','子']C.['扣','扣','子']D.['扣','子']5.在Python中,以下語句執(zhí)行結(jié)果正確的是(B)。lst=[7,8,9,11,2,25,20]i=lst.index(max(lst))lst[0],lst[i]=lst[i],lst[0]print(lst)A.[7,8,9,11,2,25,20]B.[25,8,9,11,2,7,20]C.[20,8,9,11,2,25,7]D.[2,7,8,9,11,20,25]6.在Python中,以下描述正確的是(C)。A.元組中的元素要求是相同類型B.創(chuàng)建元組時,若元組中僅包含一個元素,在這個元素后可以不添加逗號C.元組中的元素不能被修改D.多個元組不能進(jìn)行連接7.以下哪種類型是Python的映射類型(D)。A.tupleB.strC.listD.dict8.在Python中,以下不能創(chuàng)建一個字典的語句是(A)。A.dic1={[1,2]:3}B.dic1={(1,2):3}C.dic1={(1:3}D.dic1={}9.在Python中,以下關(guān)于集合的描述正確的是(B)。A.集合元素是有序的B.集合中的元素不可以重復(fù)C.set()可以將任何類型轉(zhuǎn)換為集合類型D.remove()可以通過索引方式刪除集合中的指定元素二、填空題1.對于列表list1=[3,6,9,12,15,18,21],執(zhí)行l(wèi)ist1[2:6]的結(jié)果是[9,12,15,18]。2.在Python中,刪除列表中指定內(nèi)容的元素用remove方法,清空列表元素用clear方法。3.在Python中,兩個列表[1,2,[3]]+[1,2,[3]]相加的結(jié)果是___[1,2,[3],1,2,[3]]____。4.在Python中,用賦值法創(chuàng)建一個名為tuple1的元組,該元組只含一個元素7,創(chuàng)建語句為tuple1=(7,)。5.在Python中,d.keys()和d.values()返回字典d所有的鍵信息和值信息。6.d1={1:2,3:4,5:6,7:8},通過len(d1)函數(shù)返回字典d1的長度,顯示結(jié)果是4。7.s1={1,2,3,4},進(jìn)行s1.add(1)和s1.add(5)的操作后,s1的結(jié)果是{1,2,3,4,5}。8.s1={1,2,3,4,5},s2={3,4,5,6,7},則s1和s2補(bǔ)集的結(jié)果是{1,2,6,7}。9.對比列表、元組、字典和集合4種數(shù)據(jù)類型的特性,進(jìn)行下表的填寫。列表元組字典集合函數(shù)名稱listtupledictset界定符號英文方括號[]英文圓括號()英文花括號{}英文花括號{}是否可變序列是不是是是是否有序序列是是不是不是元素分隔符英文逗號英文逗號英文逗號英文逗號元素形式要求無無鍵:值無對元素值的要求無無key為不可變不可變元素是否可重復(fù)是是key不能重復(fù),value能重復(fù)否三、編程題1.使用列表的方式編寫程序,實現(xiàn)唐宋八大家(韓愈、柳宗元、蘇洵、蘇軾、蘇轍、曾鞏、歐陽修、王安石)的輸出,其中前2位是唐代作家,后6位是宋代作家,以切片操作的方式輸出唐代作家和宋代作家。writer=['韓愈','柳宗元','蘇洵','蘇軾','蘇轍','曾鞏','歐陽修','王安石']print("唐宋八大家:",end='')fornameinwriter:print(name,'',end='')print()print("唐代作家:",end='')fornameinwriter[0:2]:#列表中的0、1索引是唐代作家print(name,'',end='')print()print("宋代作家:",end='')fornameinwriter[2:8]:#列表中的2~7索引是宋代作家print(name,'',end='')print()運(yùn)行結(jié)果為:唐宋八大家:韓愈柳宗元蘇洵蘇軾蘇轍曾鞏歐陽修王安石唐代作家:韓愈柳宗元宋代作家:蘇洵蘇轍蘇軾曾鞏歐陽修王安石2.編寫程序,輸入年月日后可以判斷該日是該年的第幾天。year=int(input('請輸入四位數(shù)年份:'))month=int(input('請輸入月份:'))day=int(input('請輸入是哪一天:'))month_days=[31,28,31,30,31,30,31,31,30,31,30,31]if(year%4==0andyear%100!=100)or(year%400==0):#判斷是否是閏年month_days[1]=29#閏年的2月是29天ifmonthnotinrange(1,13):print('請輸入正確月份!')elifdaynotinrange(1,month_days[month-1]+1):print('請輸入正確日期!')else:sum_day=sum(month_days[0:month-1])+dayprint("{}年{:0>2d}月{:0>2d}日是這該年的第{}天。".format(year,month,day,sum_day))運(yùn)行結(jié)果為:請輸入四位數(shù)年份:1999請輸入月份:9請輸入是哪一天:91999年09月09日是這該年的第252天。3.1261年中國南宋數(shù)學(xué)家楊輝所發(fā)現(xiàn)的楊輝三角,比歐洲的帕斯卡所提出的同一問題早了近400年,這一規(guī)律的發(fā)現(xiàn)是中國數(shù)學(xué)史上的一個偉大成就。楊輝三角中的數(shù)字具有以下規(guī)律:第一行和第二行分別是1和1、1;從第三行開始,每一行的兩端都是1;從第三行開始,中間的數(shù)字是由上一行相鄰的兩個數(shù)字相加而得到;楊輝三角的每一行都是對稱的。編程實現(xiàn)楊輝三角。n=eval(input("輸入要打印的行數(shù):"))yanghui=[[1],[1,1]]#前兩行foriinrange(2,n):#剩余行pre=yanghui[i-1]#上一行cul=[1]#每行第一個元素forjinrange(i-1):cul.append(pre[j]+pre[j+1])#每個數(shù)字等于上一行的左右兩個數(shù)字之和cul.append(1)#添加每行最后一個元素yanghui.append(cul)print("列表輸出:{}".format(yanghui))foriinrange(n):#圖形輸出s=""*(n-i-1)forjinyanghui[i]:s=s+str(j)+""print(s)運(yùn)行結(jié)果為:輸入要打印的行數(shù):7列表輸出:[[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1],[1,5,10,10,5,1],[1,6,15,20,15,6,1]]1111211331146411510105116152015614.編寫程序,輸入英文單詞的第一個字母來判斷一下是星期幾,如果第一個字母一樣,則繼續(xù)輸入第二個字母。weekT={'h':'thursday','u':'tuesday'}weekS={'a':'saturday','u':'sunday'}week={'t':weekT,'s':weekS,'m':'monday','w':'wensday','f':'friday'}a=week[str(input('請輸入第一位字母:')).lower()]ifa==weekTora==weekS:print(a[str(input('請輸入第二位字母:')).lower()])else:print(a)運(yùn)行結(jié)果為:請輸入第一位字母:t請輸入第二位字母:hthursday5.編寫程序建立字典,實現(xiàn)根據(jù)客戶等級及訂貨量計算訂貨金額。客戶分為A、B、C、D類,A類客戶享受9折優(yōu)惠,B類客戶享受92折優(yōu)惠,C類客戶享受95折優(yōu)惠,D類客戶不享受打折優(yōu)惠。假定商品標(biāo)準(zhǔn)價格100元,不管哪一類客戶,對于不同的訂貨量,還可以享受不同價格的優(yōu)惠:訂貨量小于500的無折扣,訂貨量在[500,1999]區(qū)間內(nèi)的折扣為0.05,訂貨量在[2000,4999]區(qū)間內(nèi)的折扣為0.1,訂貨量在[5000,19999]區(qū)間內(nèi)的折扣為0.15,訂貨量在20000及以上的折扣為0.2??蛻艨梢酝瑫r享受價格優(yōu)惠和客戶等級優(yōu)惠。訂貨量必須為整數(shù)。classification={'A':0.9,'B':0.92,'C':0.95,'D':1.00}degree=input('請輸入客戶等級(A-D):')number1=input('請輸入訂貨量:')whiledegree!=''andnumber1!=''and\degreein['A','B','C','D']andnumber1.isdigit():discount1=classification[degree]number=int(number1)ifnumber<500:discount2=0elifnumber<2000:discount2=0.05elifnumber<5000:discount2=0.1elifnumber<20000:discount2=0.15else:discount2=0.2total=100*number*(discount1)*(1-discount2)print('客戶等級折扣為:',discount1)print('訂貨量折扣為:',discount2)print('訂貨金額為:',total)degree=input('請輸入客戶等級(A-D):')number1=input('請輸入訂貨量:')else:print('請輸入正確信息,謝謝!')運(yùn)行結(jié)果為:請輸入客戶等級(A-D):C請輸入訂貨量:54321客戶等級折扣為:0.95訂貨量折扣為:0.2訂貨金額為:4128396.0請輸入客戶等級(A-D):E請輸入訂貨量:321請輸入正確信息,謝謝!6.兩個乒乓球隊進(jìn)行比賽,各出三人。甲隊為a,b,c三人,乙隊為x,y,z三人。已抽簽決定比賽名單。有人向隊員打聽比賽的名單。a說他不和x比,c說他不和x,z比,請編程找出三隊賽手的名單。a=set(['x','y','z'])b=set(['x','y','z'])c=set(['x','y','z'])a=a-set('x')c=c-set(('x','z')) foriina:forjinb:forkinc:iflen(set((i,j,k)))==3:print("a:{},b:{},c:{}".format(i,j,k))運(yùn)行結(jié)果為:a:z,b:x,c:y習(xí)題7一、選擇題1.以下哪個不是函數(shù)的作用()。A.增強(qiáng)代碼可讀性B.提高代碼執(zhí)行速度C.降低編程復(fù)雜度D.復(fù)用代碼答案:B2.以下關(guān)于函數(shù)返回值的正確描述是()。A.Python函數(shù)定義時可以沒有返回值,也可以有一個或多個返回值B.函數(shù)定義中最多只包含一個return語句C.函數(shù)定義中使用return語句時,至少給一個返回值D.函數(shù)只能通過print語句和return語句給出運(yùn)行結(jié)果答案:A3.調(diào)用函數(shù)時,函數(shù)名后面的一對小括號中給出的參數(shù)稱為()。A.形參B.名字參數(shù)C.類型參數(shù)D.實參答案:D4.下面程序的輸出結(jié)果是()。defStudentInfo(country='中國',name):print('%s,%s'%(name,country))StudentInfo('中國','臺灣')A.中國,臺灣B.臺灣,中國C.報錯D.country='中國',臺灣答案:C5.已知函數(shù)調(diào)用Fun(**a),則a的類型可能是()。A.列表B.元組C.字典D.集合答案:C6.全局變量的作用域是()。A.從定義變量的位置到文件結(jié)束位置B.所有函數(shù)C.從定義變量的位置到函數(shù)結(jié)束位置D.整個程序答案:D7.下列選項中,描述錯誤的是()。A.在函數(shù)體中,對形參賦值不會影響對應(yīng)的實參值B.函數(shù)的形參名和實參名必須完全相同C.當(dāng)有多個形參時,各形參之間用逗號分隔D.如果實參是列表等對象時,可在函數(shù)體中通過形參修改實參列表中對應(yīng)元素的值答案:B8.下列選項中,屬于局部變量的是()。A.函數(shù)中用關(guān)鍵字global申明的變量B.函數(shù)的形參C.函數(shù)的實參D.函數(shù)外定義的變量答案:B9.遞歸函數(shù)是指()。A.把函數(shù)作為參數(shù)的一種函數(shù)B.在一個函數(shù)內(nèi)部通過調(diào)用自己完成問題的求解C.一個函數(shù)不斷被其他函數(shù)調(diào)用完成問題的求解D.在一個函數(shù)內(nèi)部通過不斷調(diào)用其他函數(shù)完成問題的求解答案:B10.以下程序的輸出結(jié)果是()。f=lambdax:5print(f(3))A.3B.5C.35D.35答案:B11.以下程序中的的描述是哪一種參數(shù)傳遞方法()。deff(a,b):ifa>b:print("1")elifa==b:print("2")else:print("3")f(2,3)A.可變參數(shù)B.關(guān)鍵字參數(shù)C.默認(rèn)參數(shù)D.位置參數(shù)答案:D12.下面程序的輸出結(jié)果是()。n=2deff(a):n=bool(a-2)returnnb=f(2)print(n,b)A.20B.0TrueC.2FalseD.0False答案:C二、填空題1.Python語言中,使用函數(shù)分為兩個步驟:函數(shù)和調(diào)用函數(shù)。答案:定義2.Python語言中函數(shù)定義需要使用關(guān)鍵字。答案:def3.是定義函數(shù)時函數(shù)名后面的一對小括號中給出的參數(shù)列表。答案:形參4.函數(shù)也稱為匿名函數(shù),是一種不使用def定義函數(shù)的形式,其作用是能快速定義一個簡短的函數(shù)。答案:lambda5.能夠?qū)⒁粋€函數(shù)的運(yùn)算結(jié)果返回到調(diào)用函數(shù)的位置,以使得可以繼續(xù)用該運(yùn)算結(jié)果再去參與其他運(yùn)算,此時則應(yīng)使用語句。答案:return6.定義一個包,就是創(chuàng)建一個文件夾并在該文件夾下創(chuàng)建一個文件,文件夾的名字就是包名。答案:__init__.py7.按照作用域的不同,Python中的變量可以分為局部變量和。答案:全局變量8.在一個函數(shù)中使用關(guān)鍵字,可以聲明在該函數(shù)中使用的是全局變量、而非局部變量。答案:global9.通過關(guān)鍵字,可以使內(nèi)層的函數(shù)直接使用外層函數(shù)中定義的變量。答案:nonlocal10.函數(shù)是指在一個函數(shù)內(nèi)部通過調(diào)用自己來完成一個問題的求解。答案:遞歸三、編程題1.編寫函數(shù)func,功能是輸出一個100以內(nèi)能被5整除且個位數(shù)為5的所有整數(shù),返回這些數(shù)的個數(shù)。參考答案:deffun():c=0print("100以內(nèi)能被5整除且個位數(shù)為5的所有整數(shù):")foriinrange(101):ifi%5==0andi%10==5:print(i,end='')c=c+1returncnum=fun()print("一共有{}個數(shù)".format(num))2.編寫函數(shù),傳入一個字符串,拼接第一個和最后一個單詞并返回。例如,字符串“Fearoffailurecanbecomeaself-fulfillingprophecy.”調(diào)用函數(shù)后結(jié)果為:“Fearprophecy”。參考答案:defaddword(s):s1=s.split('')s2=s1[0]+''+s1[-1]returns2str="Fearoffailurecanbecomeaself-fulfillingprophecy."print(addword(str))3.編寫函數(shù),輸入任意兩個正整數(shù),求出它們的最小公倍數(shù)。參考答案:defminMultiplier(a,b):c=aifb>a:c=bj=a*bforiinrange(c,j+1,1):ifi%a==0andi%b==0:returnia=int(input("a="))b=int(input("b="))print("最小公倍數(shù)",minMultiplier(a,b))4.編寫函數(shù),傳入兩個有序列表,合并成一個有序列表并返回。調(diào)用函數(shù),傳入列表[2,4,6,8]和[1,3,5,7,9],返回[1,2,3,4,5,6,7,8,9]并輸出。參考答案:deforderedlist(lst1,lst2):lst=lst1+lst2returnsorted(lst)a=[2,4,6,8]b=[1,3,5,7,9]print(orderedlist(a,b))5.編寫函數(shù),對字典{'金融':13,'計算機(jī)':20,'教育':10,'公安':3}排序,函數(shù)調(diào)用后進(jìn)行格式化輸出,即排序后的字典元素按值從大到小的方式換行輸出。參考答案:d={'金融':13,'計算機(jī)':20,'教育':10,'公安':3}defmysort(**d):ls=sorted(d.items(),key=lambdax:x[1],reverse=True)returnlsls=mysort(**d)forjinrange(len(ls)):hy,num=ls[j]print("{}:{}".format(hy,num))6.定義一個匿名函數(shù),該匿名函數(shù)作為sort函數(shù)的實參,實現(xiàn)將列表lst=[(1,'red'),(3,'blue'),(2,'green'),(4,'white')]的所有元素,按元組的第一個元素降序序排列。參考答案:lst=[(1,'red'),(3,'blue'),(2,'green'),(4,'white')]lst.sort(key=lambdax:x[0],reverse=True)print(lst)7.編寫函數(shù),判斷年份n是否是閏年。輸入一個四位以內(nèi)的整數(shù)作為函數(shù)參數(shù)進(jìn)行調(diào)用,若是閏年,返回True,否則返回False。閏年條件:能被4整除但是不能被100整除或者能被400整除。參考答案:defisleapyear(n):ifn%4==0andn%100!=0orn%400==0:returnTrueelse:retu

溫馨提示

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

最新文檔

評論

0/150

提交評論