版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第1章一、(1)對(duì) (2)錯(cuò) (3)對(duì) (4)錯(cuò) (5)錯(cuò)二.、1、對(duì)象2、跨平臺(tái)(可移植)3、import4、pip5、.py三、選擇題1.B 2C 3C 4B5C四、編程題繪制多個(gè)起點(diǎn)相同但大小不同的五角星importturtleastdefdraw_fiveStars(leng): count=1 whilecount<=5: t.forward(leng) #向前走50 t.right(144) #向右轉(zhuǎn)144度 count+=1 leng+=10 #設(shè)置星星大小 ifleng<=100: draw_fiveStars(leng)defmain(): t.penup() t.backward(100) t.pendown() t.pensize(2) t.pencolor('red') segment=50 draw_fiveStars(segment) t.exitonclick()if__name__=='__main__': main()整數(shù)求和。輸入整數(shù)n,計(jì)算1+2+3+……+n之和。a=int(input("請(qǐng)輸入一個(gè)整數(shù):"))s=0foriinrange(a+1):s+=iprint("1~%d的和為:%d"%(a,s))整數(shù)排序。輸入三個(gè)整數(shù),把這三個(gè)數(shù)由小到大輸出。a=[]foriinrange(3): x=int(input('請(qǐng)輸入整數(shù):')) a.append(x)a.sort()foriina:print(i,end="")打印九九乘法表。foriinrange(1,10):forjinrange(1,i+1):print("%d×%d=%-2d"%(j,i,i*j),end='')print('')編寫一個(gè)Python程序,打印出“Hello,World!”的字符串。print(“Hello,World!”)第2章一、填空題1# 2type() 3id() 4 3+4j或者3+4J 5// 6| 7A<B 8del9、291 10 83 11 123 12 5 13 3 14 1:2:3 15 216、len 17max() 18min() 19sum() 209 217 222 23 9 2412 25 1626‘A’ 27‘A’ 28 5.0 29True 30 True二、判斷題1 錯(cuò) 2 錯(cuò) 3 對(duì) 4 錯(cuò) 5對(duì) 6錯(cuò) 7對(duì) 8 對(duì) 9 對(duì)10錯(cuò)11 錯(cuò) 12 對(duì) 13 對(duì) 14 對(duì) 15對(duì) 16錯(cuò) 17對(duì) 18對(duì) 19對(duì)20 錯(cuò) 21錯(cuò) 22對(duì) 23對(duì) 24對(duì) 25對(duì) 26對(duì) 27錯(cuò)三、選擇題1 D 2 B 3 B 4 D 5 C 6 D 7 B 8 C 9 A10 B 11 B 12 B 13 D 14 D 15 B 16 B 17 D 18 D19 D 20 B 21 B 22 C 23 A 24 C 25 D四、編程題1age last {age} 2 00000377編寫程序,輸入一個(gè)字符串,輸出字符串中最長的單詞s=input()words=s.split()t=max(words,key=len)print(t)4.編寫程序,輸入一個(gè)字符串,輸出反轉(zhuǎn)后的字符串。s=input()s1=s[::-1]print(s1)5.輸入一個(gè)字符串,輸出某個(gè)字符在字符串中出現(xiàn)的次數(shù)。s=input("請(qǐng)輸入字符串:")c=input("請(qǐng)輸入統(tǒng)計(jì)的字符:")n=s.count(c)print(n)一、填空題1、continuebreak2、12 3、15 4、a=2b=1c=15、26、程序模塊7、68、1二、選擇題D C D A B A C C C A三、編程題1.編寫程序,接收用戶輸入的一串?dāng)?shù)據(jù),刪除數(shù)據(jù)里面包含的數(shù)字后輸出。#接收用戶輸入user_input=input("請(qǐng)輸入一串?dāng)?shù)據(jù):")#初始化一個(gè)空字符串來保存結(jié)果cleaned_data=""#遍歷輸入字符串中的每個(gè)字符forcharinuser_input:#如果字符不是數(shù)字,則添加到結(jié)果字符串中ifnotchar.isdigit():cleaned_data+=char#輸出處理后的數(shù)據(jù)print("刪除數(shù)字后的數(shù)據(jù):",cleaned_data)2.編寫程序,用戶輸入4位整數(shù)作為年份,判斷其是否為閏年。如果年份能被400整除,則為閏年;如果年份能被4整除但不能被100整除也為閏年。#接收用戶輸入的年份year=int(input("請(qǐng)輸入一個(gè)4位整數(shù)年份:"))#判斷是否為閏年的邏輯ifyear%400==0:print(f"{year}年是閏年。")elifyear%4==0andyear%100!=0:print(f"{year}年是閏年。")else:print(f"{year}年不是閏年。")3.如果一個(gè)四位數(shù),即位于1000到9999之間(包括1000和9999),它的每一位數(shù)字(千位、百位、十位、個(gè)位)的四次方之和等于這個(gè)數(shù)本身。這些數(shù)字因其獨(dú)特的性質(zhì)而被稱為四位水仙花數(shù),也叫阿姆斯特朗數(shù),請(qǐng)編寫程序找出所有的阿姆斯特朗數(shù)。#查找所有的四位阿姆斯特朗數(shù)fornuminrange(1000,10000):#四位數(shù)的范圍是1000到9999#將數(shù)字轉(zhuǎn)換為字符串,以便可以訪問每個(gè)位上的數(shù)字str_num=str(num)#獲取數(shù)字的位數(shù)n=len(str_num)#初始化sum為0sum_of_powers=0#遍歷每個(gè)位上的數(shù)字fordigitinstr_num:#將字符串轉(zhuǎn)換為整數(shù)并計(jì)算其n次冪sum_of_powers+=int(digit)**n#如果各位數(shù)字的n次冪之和等于原數(shù),則返回Trueifsum_of_powers==num:print(num)4百錢買百雞問題:一只公雞值五錢,一只母雞值三錢,三只小雞值一錢,現(xiàn)在要用百錢買百雞,請(qǐng)問公雞、母雞、小雞各多少只?編程解決以上問題。forxinrange(0,21):#公雞最多20只(因?yàn)?錢一只,超過20只則總價(jià)超過100錢)foryinrange(0,34):#母雞最多33只(因?yàn)?錢一只,超過33只則總價(jià)超過100錢)#根據(jù)公雞和母雞的數(shù)量計(jì)算小雞的數(shù)量z=100-x-y#檢查小雞的數(shù)量是否能被3整除(因?yàn)?只小雞值1錢)ifz%3==0:#計(jì)算總錢數(shù)total_money=5*x+3*y+z//3#檢查是否滿足題目條件iftotal_money==100:#如果滿足條件,則輸出print("公雞:{}只,母雞:{}只,小雞:{}只".format(x,y,z))5、只能由1和它本身整除的整數(shù)被稱為素?cái)?shù);若一個(gè)素?cái)?shù)從左向右讀與從右向左讀是是相同的數(shù),則該素?cái)?shù)為回文素?cái)?shù)。編程求解2~10000內(nèi)的所有回文素?cái)?shù)。defis_prime(n):"""判斷一個(gè)數(shù)是否是素?cái)?shù)"""ifn<2:returnFalseforiinrange(2,int(n**0.5)+1):ifn%i==0:returnFalsereturnTruedefis_palindrome(n):"""判斷一個(gè)數(shù)是否是回文數(shù)"""returnstr(n)==str(n)[::-1]#遍歷2到10000內(nèi)的所有數(shù)fornuminrange(2,10001):ifis_prime(num)andis_palindrome(num):print(num)6.身體質(zhì)量指數(shù),是BMI(BodyMassIndex)指數(shù),簡(jiǎn)稱體質(zhì)指數(shù),是國際上常用的衡量人體胖瘦程度以及是否健康的一個(gè)標(biāo)準(zhǔn),由19世紀(jì)中期的比利時(shí)通才朗伯·阿道夫·雅克·凱特勒最先提出。計(jì)算公式為:BMI=體重÷身高2。(體重單位:千克;身高單位:米。)。當(dāng)BMI數(shù)值低于18.5時(shí),體重偏瘦;當(dāng)BMI數(shù)值大于等于18.5小于24.9時(shí),體重正常;當(dāng)BMI數(shù)值大于24.9時(shí),體重過胖。體重偏瘦和體重過胖都屬于異常結(jié)果。編寫程序,輸入體重(公斤)和身高(米),利用公式計(jì)算BMI,并將結(jié)果輸出(體重正常、偏瘦和過胖)。#獲取用戶輸入weight=float(input("請(qǐng)輸入您的體重(公斤):"))height=float(input("請(qǐng)輸入您的身高(米):"))#計(jì)算BMIbmi=weight/(height**2)ifbmi<18.5:print("您的BMI值是:{:.2f}".format(bmi))print("您的體重偏瘦")elif18.5<=bmi<24.9:print("您的BMI值是:{:.2f}".format(bmi))print("您的體重正常")else:print("您的BMI值是:{:.2f}".format(bmi))print("您的體重偏胖")7.已知企業(yè)對(duì)銷售人員的獎(jiǎng)勵(lì)措施如下:底薪為3000元,獎(jiǎng)金根據(jù)銷售額提成,比例如下:(1)當(dāng)銷售額<=50000時(shí),沒有提成;(2)當(dāng)50000<銷售額<=100000時(shí),提成0.8%;(3)當(dāng)100000<銷售額<=200000時(shí),提成1.2%;(4)當(dāng)銷售額>20000時(shí),提成1.8%。要求編寫程序,通過輸入員工的銷售額,計(jì)算并輸出應(yīng)發(fā)工資。sales=float(input("輸入銷售額:"))base=3000rate=0ifsales<=50000:rate=0elif50000<sales<=100000:rate=0.008elif100000<sales<=200000:rate=0.012else:rate=0.18bonus=sales*ratesalary=base+bonusprint("應(yīng)發(fā)工資為:{:.2f}元".format(salary))8.編寫程序,實(shí)現(xiàn)分段函數(shù)計(jì)算,如下表所示。xyx<=10010<x<=30x30<x<=503x-550<x<=1004x2-3x+10100<=xx3x=float(input("輸入x:"))ifx<=10:y=0elif10<x<=30:y=xelif30<sales<=50:y=3*x-5elif50<x<=100:y=4*x**2-3*x+10else:y=x**3print(y)一、填空題函數(shù)。軟件復(fù)用。def函數(shù)名。遞歸函數(shù)。pass。全局外。二、判斷題使用函數(shù)可以提高程序代碼的復(fù)用性。(對(duì))函數(shù)在定義后會(huì)立刻執(zhí)行。(錯(cuò))變量在程序的任意位置都可以被訪問。(錯(cuò))調(diào)用函數(shù)也就是執(zhí)行函數(shù)。(對(duì))通過return語句,可以返回多個(gè)值。(對(duì))lambda表達(dá)式,又稱匿名函數(shù),常用來表示內(nèi)部?jī)H包含一行表達(dá)式的函數(shù)。(對(duì))通過調(diào)用Python的help()內(nèi)置函數(shù)或者_(dá)_doc__屬性,可以查看某個(gè)函數(shù)的使用說明文檔。(對(duì))三、選擇題下列關(guān)于函數(shù)的說法中,描述錯(cuò)誤的是(C)。函數(shù)可以減少重復(fù)的代碼,使得程序更加模塊化在不同的函數(shù)中可以使用相同名字的變量調(diào)用函數(shù)時(shí),實(shí)參的傳遞順序必須與形參的順序相同匿名函數(shù)通常只包含一行代碼,并且沒有函數(shù)名Python語言使用(B)關(guān)鍵字定義一個(gè)匿名函數(shù)。anonymousB.lambda C.class D.def Python自定義一個(gè)函數(shù)使用(D)關(guān)鍵字。A.anonymousB.lambda C.class D.def閱讀下面的代碼:a=20defadd(b):globalaa=100returna+bprint(add(30))運(yùn)行代碼,輸出結(jié)果為(B)。A50 B130 C120 D 30閱讀下面的代碼:a=20defadd(b):globalaa=100returna+bprint(a,end="")add(30)print(a)運(yùn)行代碼,輸出結(jié)果為(C)。A100100 B30100 C20100 D 2020閱讀下面的代碼:a=20defadd(b):a=100returna+bprint(a,end="")add(30)print(a)運(yùn)行代碼,輸出結(jié)果為(D)。A100100 B30100 C20100 D 2020請(qǐng)閱讀下面的代碼:deffun(n1,n2,*args):s=sum(args)print(s)fun(1,2,3,4,5)運(yùn)行代碼,輸出結(jié)果為(B)。A15 B12 C3 D 6閱讀以下程序:x=20deffunc():print(x)x=10func()程序執(zhí)行的結(jié)果為(A)。程序異常B、20 C、10 D、30請(qǐng)閱讀下面的代碼:a=int(input())b=int(input())c=input()ifc=='+':print(a+b)elifc=='-':print(a-b)elifc=='*':print(a*b)elifc=='/':print(a/b)else:print("輸入錯(cuò)誤,請(qǐng)重試")當(dāng)程序運(yùn)行后,小新依次輸入86*程序輸出結(jié)果應(yīng)為(C)A.18 B.11 C.48 D.4哪個(gè)是Python中的匿名函數(shù)定義?(B)A.defmy_function():returnTrueB.lambdax:x*x*xC.classMyLambda:D.x=x**2在Python中,以下哪個(gè)表達(dá)式正確地使用了一個(gè)匿名函數(shù)來計(jì)算兩個(gè)數(shù)的和?(A)A.sum=lambdax,y:x+yB.sum=lambda:x+yC.sum(x,y)=lambda:x+yD.sum=def(x,y):returnx+y在以下代碼中,result的值是什么?(B)result=map(lambdax:x*2,[1,2,3,4])print(list(result))A.[1,2,3,4]B.[2,4,6,8]C.[0,0,0,0]D.錯(cuò)誤,因?yàn)閙ap函數(shù)不支持匿名函數(shù)哪個(gè)語句不能定義匿名函數(shù)?(D)A.f=lambdax:x**2B.g=lambdax,y:x+yC.h=lambda:print("Hello,World!")D.i=def(x):returnx*x在以下代碼中,filter函數(shù)將返回什么?(B)even_numbers=filter(lambdax:x%2==0,[1,2,3,4,5,6])print(list(even_numbers))A.[1,3,5]B.[2,4,6]C.[0,2,4,6]D.錯(cuò)誤,因?yàn)閒ilter函數(shù)不支持匿名函數(shù)四、簡(jiǎn)答題簡(jiǎn)述函數(shù)的定義和代碼復(fù)用。答:定義函數(shù)需要用def關(guān)鍵字實(shí)現(xiàn),具體的語法格式如下:def函數(shù)名(參數(shù)列表): ‘’’文檔字符串’’’[return[返回值]]函數(shù)的定義包括函數(shù)頭和函數(shù)體兩部分,數(shù)頭以關(guān)鍵字def開始,后跟一個(gè)空格和函數(shù)名,接著是一對(duì)括號(hào),括號(hào)內(nèi)可列出函數(shù)的參數(shù),多個(gè)參數(shù)用逗號(hào)間隔,括號(hào)之后是一個(gè)冒號(hào),函數(shù)體由多條語句構(gòu)成,與函數(shù)頭維持一個(gè)層級(jí)的縮進(jìn),函數(shù)頭和函數(shù)體之間可以加入三重引號(hào)界定的字符串作為注釋,即文檔字符串,用于簡(jiǎn)述函數(shù)的功能。 軟件復(fù)用是指在開發(fā)新的軟件系統(tǒng)時(shí),對(duì)已有的軟件或軟件模塊重新使用。這里的“已有的軟件”可以是已經(jīng)存在的軟件,也可以是專門設(shè)計(jì)的可復(fù)用組件。軟件復(fù)用的主要目的是提高軟件系統(tǒng)的開發(fā)質(zhì)量與效率,同時(shí)降低開發(fā)成本。簡(jiǎn)述pass語句的作用。 pass語句主要是作為一個(gè)空語句,用于保持程序結(jié)構(gòu)的完整性。其作用的具體包括占位符,pass語句在Python中不執(zhí)行任何操作,它主要用于在需要語法上完整的語句塊,但暫時(shí)不需要執(zhí)行任何實(shí)際代碼的情況下作為占位符。簡(jiǎn)述局部變量和全局變量的區(qū)別。變量按其作用域的不同,可劃分為局部變量和全局變量。在函數(shù)體或局部范圍內(nèi)聲明的變量稱為局部變量,函數(shù)內(nèi)部定義的變量為局部變量(localvariable),其只在函數(shù)內(nèi)起作用,函數(shù)執(zhí)行結(jié)束后,會(huì)被自動(dòng)刪除,函數(shù)外部定義的變量為全局變量(globalvariable),函數(shù)內(nèi)部可以訪問全局變量,函數(shù)調(diào)用結(jié)束后,全局變量仍存在。簡(jiǎn)述模塊和包的含義。 Python模塊是一個(gè)包含Python定義和語句的文件,文件名以.py為擴(kuò)展名。模塊可以定義函數(shù)、類、變量等,并包含可執(zhí)行的代碼。使用模塊的主要目的是組織代碼和提供功能。通過將相關(guān)的函數(shù)、類和變量封裝在模塊中,可以提高代碼的可讀性和可維護(hù)性。模塊也可以避免函數(shù)名和變量名發(fā)生沖突。 將一個(gè)包含Python代碼文件的目錄(文件夾)稱為包(package),相應(yīng)的導(dǎo)入即為包導(dǎo)入,要使用包導(dǎo)入,只需在import語句中列出目錄路徑,不同層次間以點(diǎn)號(hào)間隔。 簡(jiǎn)述導(dǎo)入模塊的四種方法。模塊導(dǎo)入的語法格式:(1)導(dǎo)入模塊:import模塊名[AS標(biāo)識(shí)符]#導(dǎo)入模塊(或同時(shí)取別名)(2)導(dǎo)入模塊中所有項(xiàng)目(函數(shù)、類或變量):from模塊名import*(3)導(dǎo)入模塊中指定項(xiàng)目:from模塊名import項(xiàng)目名[AS標(biāo)識(shí)符](4)導(dǎo)入指定包模塊中指定項(xiàng)目:from包名.模塊名import項(xiàng)目名[AS標(biāo)識(shí)符]五、編程題編寫函數(shù),計(jì)算1~1000中奇數(shù)之和。defsum_of_odds():returnsum(range(1,1001,2))print(sum_of_odds())編寫函數(shù),計(jì)算1*2*3*……*20也就是20!的乘積。deffactorial(n):ifn==0:return1returnn*factorial(n-1)print(factorial(20))編寫函數(shù),判斷用戶輸入的整數(shù)是否為回文數(shù)?;匚臄?shù)是一個(gè)正向和逆向都相同的整數(shù),如123454321、9889。defis_palindrome(n):returnstr(n)==str(n)[::-1]n=eval(input("請(qǐng)輸入數(shù):"))ifis_palindrome(n):print(n,"是回文數(shù)")else:print(n,"不是回文數(shù)")編寫函數(shù),判斷用戶輸入的三個(gè)數(shù)字是否能構(gòu)成三角形的三條邊。defcan_form_triangle(a,b,c):returna+b>canda+c>bandb+c>aprint(can_form_triangle(3,4,5))#輸出:Trueprint(can_form_triangle(1,2,5))#輸出:False編寫函數(shù),求兩個(gè)正整數(shù)的最小公倍數(shù)。defgcd(a,b):whileb!=0:a,b=b,a%breturnadeflcm(a,b):returnabs(a*b)//gcd(a,b)print(lcm(12,15))#輸出:60編寫函數(shù),計(jì)算傳入的字符串中數(shù)字、字母、空格和其它字符的個(gè)數(shù)。defcount_chars(s):digits=0letters=0spaces=0others=0forcharins:ifchar.isdigit():digits+=1elifchar.isalpha():letters+=1elifchar.isspace():spaces+=1else:others+=1returndigits,letters,spaces,othersprint(count_chars("Hello123World!"))#輸出:(3,9,1,1)古代有一個(gè)梵塔,塔內(nèi)有A、B、C三個(gè)基座,A座上有60個(gè)盤子,盤子大小不等,大的在下,小的在上。有人想把這60個(gè)盤子從A座移到C座,但每次只允許移動(dòng)一個(gè)盤子,并且在移動(dòng)的過程中,3個(gè)基座上的盤子始終保持大盤在下,小盤在上。在移動(dòng)過程中盤子可以放在任何一個(gè)基座上,不允許放在別處。編寫函數(shù),根據(jù)用戶輸入盤子的個(gè)數(shù),顯示移動(dòng)的過程。defhanoi(n,A,B,C):#將n個(gè)盤子從A借助B移動(dòng)到Cifn>0:#將n-1個(gè)盤子從A借助C移動(dòng)到Bhanoi(n-1,A,C,B)#將第n個(gè)盤子從A移動(dòng)到Cprint('Movedisk{n}from{A}to{C}'.format(n=n,A=A,C=C))#將n-1個(gè)盤子從B移動(dòng)到Chanoi(n-1,B,A,C)#調(diào)用hanoi函數(shù),初始時(shí)60個(gè)盤子在A上,目標(biāo)移到C,B作為輔助hanoi(60,'A','B','C')輸出1~100以內(nèi)的所有素?cái)?shù)。defis_prime(n):ifn<2:returnFalseforiinrange(2,int(n**0.5)+1):ifn%i==0:returnFalsereturnTruedefprint_primes_up_to(n):foriinrange(2,n+1):ifis_prime(i):print(i)print_primes_up_to(100)編寫函數(shù),判斷一個(gè)整數(shù)是否為回文素?cái)?shù),并編寫主程序調(diào)用該函數(shù)。defis_prime(n):ifn<2:returnFalseforiinrange(2,int(n**0.5)+1):ifn%i==0:returnFalsereturnTruedefis_palindrome(n):returnstr(n)==str(n)[::-1]defis_palindrome_prime(n):returnis_prime(n)andis_palindrome(n)#主程序調(diào)用函數(shù)defmain():num=int(input("請(qǐng)輸入一個(gè)整數(shù):"))ifis_palindrome_prime(num):print("%d是回文素?cái)?shù)"%num)else:print("%d不是回文素?cái)?shù)"%num)#調(diào)用主程序if__name__=="__main__":main()編寫函數(shù),接收一個(gè)字符串,分別統(tǒng)計(jì)大寫字母、小寫字母、數(shù)字、其他字符的個(gè)數(shù),并以元組的形式返回結(jié)果。defcount_chars_in_string(s):uppercase=0lowercase=0digits=0others=0forcharins:ifchar.isupper():uppercase+=1elifchar.islower():lowercase+=1elifchar.isdigit():digits+=1else:others+=1returnuppercase,lowercase,digits,othersresult=count_chars_in_string("Hello123World!")print(result)局部變量會(huì)隱藏同名的全局變量嗎?請(qǐng)編寫程序代碼進(jìn)行驗(yàn)證。局部變量會(huì)隱藏同名的全局變量,以下是驗(yàn)證代碼:x=10#全局變量deftest_global_local():x=5#局部變量print(x)#輸出局部變量的值test_global_local()#輸出5print(x)#輸出全局變量的值,即10編寫函數(shù),模擬內(nèi)部函數(shù)max()的功能。defmy_max(*args):ifnotargs:returnNonemax_value=args[0]fornuminargs:ifnum>max_value:max_value=numreturnmax_valueprint(my_max(1,3,5,2,4))#輸出5編寫函數(shù),模擬內(nèi)部函數(shù)sorted()。defmy_sorted(lst):returnsorted(lst)#或者使用冒泡排序等算法實(shí)現(xiàn)defmy_sorted_bubble(lst):n=len(lst)foriinrange(n):forjinrange(0,n-i-1):iflst[j]>lst[j+1]:lst[j],lst[j+1]=lst[j+1],lst[j]returnlstprint(my_sorted_bubble([5,2,9,1,5,6]))#輸出[1,2,5,5,6,9]已知函數(shù)定義deffun(x,y,op):returneval(str(x)+op+str(y)),那么表達(dá)式fun(2,3,’+‘)的值為多少? 5編寫函數(shù),可以接收任意多個(gè)整數(shù)并輸出其中的最大值和所有整數(shù)之和。defmax_and_sum(*args):ifnotargs:returnNone,0#初始化最大值為第一個(gè)元素,總和為0max_value=args[0]total_sum=max_value#遍歷其他元素,更新最大值和總和fornuminargs[1:]:ifnum>max_value:max_value=numtotal_sum+=num#返回最大值和總和returnmax_value,total_sum#調(diào)用函數(shù)并打印結(jié)果max_val,total_sum=max_and_sum(1,3,5,7,2,9)print("最大值:{max_val},總和:{total_sum}".format(max_val=max_val,total_sum=total_sum))有一個(gè)數(shù)列,形式為1113591731,請(qǐng)編寫程序計(jì)算該數(shù)列第2024項(xiàng)的值。deffibonacci_variant_triple(n):ifn<=3:return1#前三項(xiàng)都是1sequence=[1,1,1]#初始化前三項(xiàng)foriinrange(3,n):sequence.append(sum(sequence[-3:]))#將前三項(xiàng)之和添加到數(shù)列中returnsequence[-1]#返回第n項(xiàng)的值#計(jì)算數(shù)列的第2024項(xiàng)print(fibonacci_variant_triple(2024))第5章一、判斷題答案:正確(√)正確(√)錯(cuò)誤(×)正確(√)二、填空題答案:任何不可變互不相同鍵,值1,3{1,3,5}三、選擇題答案:AACCB,C,DDC,DA,B,C,D,GBA四、編程題答案:1.斐波那契數(shù)列:deffibonacci(n):fib_sequence=[0,1]whilelen(fib_sequence)<n:fib_sequence.append(fib_sequence[-1]+fib_sequence[-2])returnfib_sequenceprint(fibonacci(10))2.單詞排序:words=input("請(qǐng)輸入若干個(gè)單詞,用空格分隔:").split()words_sorted=sorted(words)print(words_sorted)3.列表增加10:numbers=[1,2,3,4,5]numbers=[x+10forxinnumbers]print(numbers)4.字典值增加5:d={'a':1,'b':2,'c':3}forkeyind:d[key]+=5print(d)5.列表元素乘以2:original_list=[1,2,3,4,5]new_list=[x*2forxinoriginal_list]print(new_list)6.大寫轉(zhuǎn)小寫:s="HelloWorld!"lowercase_s=s.lower()print(lowercase_s)7.列表最大值和最小值:nums=[1,3,5,2,4]max_value=max(nums)min_value=min(nums)print((max_value,min_value))8.列表交替合并:list1=[1,2,3]list2=['a','b','c']merged_list=[xforpairinzip(list1,list2)forxinpair]print(merged_list)9.列表排序:tt=[4,2,5,1,3]print(sorted(tt))print(sorted(tt,reverse=True))10.列表反轉(zhuǎn):tt=[4,2,5,1,3]print(tt[::-1])print(list(reversed(tt)))11.數(shù)字轉(zhuǎn)中文大寫:defnum_to_chinese(num):chinese_num={'0':'零','1':'壹','2':'貳','3':'叁','4':'肆','5':'伍','6':'陸','7':'柒','8':'捌','9':'玖','.':'點(diǎn)'}chinese_str=''forcharinstr(num):chinese_str+=chinese_num[char]returnchinese_strprint(num_to_chinese(1.23))12.隨機(jī)生成整數(shù)列表:importrandomrandom_numbers=[random.randint(1,100)for_inrange(10)]print(random_numbers)
第6章一、判斷題答案:正確(√)正確(√)正確(√)錯(cuò)誤(×)二、填空題答案:openevalxml.etree.ElementTreejson三、選擇題答案:ABDADCAAAA四、編程題答案:1.單詞出現(xiàn)次數(shù)統(tǒng)計(jì):fromcollectionsimportCounterwithopen('filename.txt','r')asfile:text=file.read()words=text.split()word_counts=Counter(words)forword,countinword_counts.most_common():print(word,count)2.存儲(chǔ)和讀取JSON數(shù)據(jù):importjsondata={'key':'value'}withopen('data.json','w')asfile:json.dump(data,file)withopen('data.json','r')asfile:new_data=json.load(file)print(new_data)3.讀取整數(shù)排序輸出:withopen('input.txt','r')asinfile,open('sorted_output.txt','w')asoutfile:sorted_numbers=[]forlineininfile:numbers=list(map(int,line.split()))sorted_numbers.extend(sorted(numbers))fornumberinsorted(sorted_numbers):outfile.write(f"{number}")outfile.write("\n")4.奇數(shù)偶數(shù)分離:odd_numbers=[]even_numbers=[]withopen('input.txt','r')asinfile,open('odd_output.txt','w')asoddfile,open('even_output.txt','w')asevenfile:forlineininfile:numbers=list(map(int,line.split()))oddfile.write(''.join(str(x)forxinnumbersifx%2!=0)+'\n')evenfile.write(''.join(str(x)forxinnumbersifx%2==0)+'\n')5.字符串排序輸出:withopen('input.txt','r')asinfile,open('sorted_output.txt','w')asoutfile:sorted_strings=[]forlineininfile:strings=line.split()sorted_strings.extend(sorted(strings))forstringinsorted_strings:outfile.write(f"{string}")outfile.write("\n")6.打印文件內(nèi)容:withopen('filename.txt','r')asfile:print(file.read())7.保存文件內(nèi)容到新文件:withopen('filename.txt','r')asinfile,open('new_filename.txt','w')asoutfile:outfile.write(infile.read())8.創(chuàng)建并寫入文本文件:withopen('newfile.txt','w')asfile:file.write("這里是一些文本內(nèi)容。")9.計(jì)算某一行的長度:withopen('filename.txt','r')asfile:fori,lineinenumerate(file,1):print(f"第{i}行的長度是:{len(line)}")10.反轉(zhuǎn)每行內(nèi)容:withopen('input.txt','r')asinfile,open('reversed_output.txt','w')asoutfile:forlineininfile:outfile.write(''.join(reversed(line))+'\n')11.計(jì)算每列平均值:withopen('data.txt','r')asfile:lines=file.readlines()num_lines=len(lines)num_columns=len(lines[0].strip().split(','))totals=[0]*num_columnsforlineinlines:values=line.strip().split(',')fori,valueinenumerate(values):totals[i]+=float(value)averages=[total/num_linesfortotalintotals]print(averages)12.提取CSV文件中的姓名和年齡:importcsvwithopen('users.csv','r')asfile:reader=csv.DictReader(file)forrowinreader:print(f"姓名:{row['name']},年齡:{row['age']}")13.保存用戶信息到新的CSV文件:importcsvdata=[]withopen('users.csv','r')asfile:reader=csv.DictReader(file)forrowinreader:data.append({'name':row['name'],'age':row['age']})withopen('new_users.csv','w',newline='')asfile:writer=csv.DictWriter(file,fieldnames=['name','age'])writer.writeheader()writer.writerows(data)14.讀取二進(jìn)制文件并轉(zhuǎn)換為十六進(jìn)制字符串:withopen('binaryfile.bin','rb')asfile:binary_data=file.read()hex_string=binary_data.hex()print(hex_string)15.寫入二進(jìn)制數(shù)據(jù)到新文件:withopen('binaryfile.bin','rb')asinfile,open('new_binaryfile.bin','wb')asoutfile:binary_data=infile.read()outfile.write(binary_data)第7章一、判斷題答案:正確(√)錯(cuò)誤(×)正確(√)正確(√)二、填空題答案:defimportintif三、選擇題答案:ACABBADACBDCD四、編程題答案:1.簡(jiǎn)單計(jì)算器:defcalculator():num1=float(input("請(qǐng)輸入第一個(gè)數(shù)字:"))num2=float(input("請(qǐng)輸入第二個(gè)數(shù)字:"))operator=input("請(qǐng)輸入操作符(+、-、*、/):")ifoperator=='+':print(f"{num1}+{num2}={num1+num2}")elifoperator=='-':print(f"{num1}-{num2}={num1-num2}")elifoperator=='*':print(f"{num1}*{num2}={num1*num2}")elifoperator=='/':ifnum2!=0:print(f"{num1}/{num2}={num1/num2}")else:print("除數(shù)不能為0")else:print("無效的操作符")calculator()2.簡(jiǎn)單日歷:importcalendardefprint_calendar(year,month):cal=calendar.TextCalendar(calendar.SUNDAY)print(cal.formatmonth(year,month))year=int(input("請(qǐng)輸入年份:"))month=int(input("請(qǐng)輸入月份:"))print_calendar(year,month)3.石頭、剪刀、布游戲:importrandomdefrock_paper_scissors():user_choice=int(input("請(qǐng)輸入手勢(shì)(1-石頭,2-剪刀,3-布):"))choices=["石頭","剪刀","布"]computer_choice=random.choice(choices)print(f"電腦出的手勢(shì)是:{computer_choice}")ifuser_choice==1andcomputer_choice=="布":print("你贏了!")elifuser_choice==2andcomputer_choice=="石頭":print("你贏了!")elifuser_choice==3andcomputer_choice=="剪刀":print("你贏了!")elifuser_choice==1andcomputer_choice=="剪刀":print("你輸了!")elifuser_choice==2andcomputer_choice=="布":print("你輸了!")elifuser_choice==3andcomputer_choice=="石頭":print("你輸了!")else:print("平局!")rock_paper_scissors()4.猜數(shù)字游戲:importrandomdefguess_number():number=random.randint(1,100)whileTrue:try:guess=int(input("猜一個(gè)1到100之間的數(shù)字:"))ifguess<number:print("太小了,再試一次。")elifguess>number:print("太大了,再試一次。")else:print("恭喜你,猜對(duì)了!")breakexceptValueError:print("請(qǐng)輸入一個(gè)有效的整數(shù)。")guess_number()5.簡(jiǎn)單文本編輯器:deftext_editor():filename=input("請(qǐng)輸入文件名:")try:withopen(filename,'r')asfile:content=file.read()print("文件內(nèi)容如下:")print(content)add_content=input("請(qǐng)輸入要添加的文本內(nèi)容:")withopen(filename,'a')asfile:file.write(add_content+"\n")print("內(nèi)容已添加并保存。")exceptFileNotFoundError:print(f"文件{filename}未找到。")text_editor()6.簡(jiǎn)單電子郵件客戶端:importsmtplibdefsend_email():sender=input("請(qǐng)輸入發(fā)件人地址:")receiver=input("請(qǐng)輸入收件人地址:")subject=input("請(qǐng)輸入郵件主題:")body=input("請(qǐng)輸入郵件正文:")print(f"郵件發(fā)送成功!發(fā)件人:{sender},收件人:{receiver},主題:{subject},正文:{body}")send_email()7.面向?qū)ο缶幊潭鄳B(tài)性示例:classCar:defrun(self):print("汽車正在行駛。")classBYD(Car):defrun(self):print("比亞迪汽車正在行駛。")classCHANGCHENG(Car):defrun(self):print("長城汽車正在行駛。")classPerson:defuse_car(self,car):car.run()person=Person()byd_car=BYD()changcheng_car=CHANGCHENG()person.use_car(byd_car)person.use_car(changcheng_car)第8章一、判斷題答案:正確(√)正確(√)錯(cuò)誤(×)正確(√)二、填空題答案:ndarrayDataFramelmplot或distplotfigure三、選擇題答案:DDAACABBDD四、編程題答案:1.繪制正12邊形:importturtledefdraw_12_sides():turtle.pensize(2)foriinrange(1,13):#1turtle.fd(40)#2turtle.right(30)#3turtle.done()draw_12_sides()2.輸出實(shí)心菱形圖案:foriinrange(1,5):print(''*(4-i)+'*'*(2*i-1))foriinrange(1,5):print(''*i+'*'*(8-2*i))3.繪制柱狀圖:importmatplotlib.pyplotaspltmonth=['Jan','Feb','Mar','Apr','May','Jun']sales=[120,90,150,180,80,110]plt.bar(month,sales)plt.show()4.讀取并打印CSV文件數(shù)據(jù):importcsvfilename='data.csv'withopen(filename,newline='')ascsvfile:reader=csv.reader(csvfile)forrowinreader:print(row)5.創(chuàng)建并保存帶文字的圖像:fromPILimportImage,ImageDraw,ImageFontimg=Image.new('RGB',(300,200),color='white')d=ImageDraw.Draw(img)font=ImageFont.load_default()d.text((50,50),'Hello,world!',fill=(0,0,0),font=font)img.save('hello_world.png')6.生成數(shù)組并計(jì)算統(tǒng)計(jì)數(shù)據(jù):importnumpyasnpdata=np.random.randint(1,100,100)print("最小值:",np.min(data))print("最大值:",np.max(data))print("平均值:",np.mean(data))print("中位數(shù):",np.median(data))7.讀取Excel、排序并寫入新的Excel:importpandasaspddf=pd.read_excel('data.xlsx')df_sorted=df.sort_values(by=df.columns[0])df_sorted.to_excel('sorted_data.xlsx',index=False)8.繪制正弦曲線并保存:importmatplotlib.pyplotaspltimportnumpyasnpx=np.linspace(0,2*np.pi,100)y=np.sin(x)plt.plot(x,y)plt.savefig('sin_wave.png')plt.show()9.加載Iris數(shù)據(jù)集、KMeans聚類并可視化:fromsklearn.datasetsimportload_irisfromsklearn.clusterimportKMeansimportmatplotlib.pyplotaspltiris=load_iris()kmeans=KMeans(n_clusters=3)kmeans.fit(iris.data)plt.scatter(iris.data[:,2],iris.data[:,3],c=kmeans.labels_)plt.show()10.計(jì)算文本文件中單詞出現(xiàn)次數(shù):fromcollectionsimportCounterwithopen('test.txt','r')asfile:text=file.read().lower()words=text.split()word_counts=Counter(words)print(word_counts)11.輸出用戶輸
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 亳州學(xué)院《城鄉(xiāng)生態(tài)與環(huán)境規(guī)劃》2023-2024學(xué)年第一學(xué)期期末試卷
- 畢節(jié)職業(yè)技術(shù)學(xué)院《校本課程開發(fā)與綜合實(shí)踐活動(dòng)》2023-2024學(xué)年第一學(xué)期期末試卷
- 畢節(jié)幼兒師范高等??茖W(xué)?!峨娨曀囆g(shù)概論》2023-2024學(xué)年第一學(xué)期期末試卷
- 畢節(jié)醫(yī)學(xué)高等專科學(xué)?!兑?guī)范寫作B》2023-2024學(xué)年第一學(xué)期期末試卷
- 畢節(jié)工業(yè)職業(yè)技術(shù)學(xué)院《微生物實(shí)驗(yàn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年度班組抹灰施工材料回收利用合同3篇
- 2025版車輛租賃合同:含車輛美容及保養(yǎng)服務(wù)協(xié)議3篇
- 2025版高校產(chǎn)學(xué)研合作培訓(xùn)項(xiàng)目合同3篇
- 2025版建筑行業(yè)勞動(dòng)合同安全監(jiān)管與預(yù)防措施合同3篇
- 二零二五年度XX醫(yī)院醫(yī)院醫(yī)學(xué)影像診斷聘用合同樣本3篇
- 福建省部分地市2023-2024學(xué)年高三上學(xué)期第一次質(zhì)量檢測(cè)(期末)生物 含解析
- (新版):中國卒中學(xué)會(huì)急性缺血性卒中再灌注治療指南
- 2024-2025學(xué)年上學(xué)期深圳初中語文七年級(jí)期末模擬卷3
- 2024-2025學(xué)年上學(xué)期廣州初中地理八年級(jí)期末模擬卷2
- 中考語文真題專題復(fù)習(xí) 小說閱讀(第01期)(解析版)
- 2025版國家開放大學(xué)法律事務(wù)??啤斗勺稍兣c調(diào)解》期末紙質(zhì)考試單項(xiàng)選擇題題庫
- 2024年世界職業(yè)院校技能大賽中職組“嬰幼兒保育組”賽項(xiàng)考試題庫-下(多選、判斷題)
- 期末模擬考試卷02-2024-2025學(xué)年上學(xué)期高一思想政治課《中國特色社會(huì)主義》含答案
- 2023年中國鐵路南寧局集團(tuán)有限公司招聘考試真題
- 汽車底盤課件 課程3 手動(dòng)變速器的構(gòu)造與維修
- 微創(chuàng)手術(shù)機(jī)器人醫(yī)療器械行業(yè)營銷策略方案
評(píng)論
0/150
提交評(píng)論