




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第1章一、(1)對 (2)錯 (3)對 (4)錯 (5)錯二.、1、對象2、跨平臺(可移植)3、import4、pip5、.py三、選擇題1.B 2C 3C 4B5C四、編程題繪制多個起點相同但大小不同的五角星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,計算1+2+3+……+n之和。a=int(input("請輸入一個整數(shù):"))s=0foriinrange(a+1):s+=iprint("1~%d的和為:%d"%(a,s))整數(shù)排序。輸入三個整數(shù),把這三個數(shù)由小到大輸出。a=[]foriinrange(3): x=int(input('請輸入整數(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('')編寫一個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 錯 2 錯 3 對 4 錯 5對 6錯 7對 8 對 9 對10錯11 錯 12 對 13 對 14 對 15對 16錯 17對 18對 19對20 錯 21錯 22對 23對 24對 25對 26對 27錯三、選擇題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編寫程序,輸入一個字符串,輸出字符串中最長的單詞s=input()words=s.split()t=max(words,key=len)print(t)4.編寫程序,輸入一個字符串,輸出反轉(zhuǎn)后的字符串。s=input()s1=s[::-1]print(s1)5.輸入一個字符串,輸出某個字符在字符串中出現(xiàn)的次數(shù)。s=input("請輸入字符串:")c=input("請輸入統(tǒng)計的字符:")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("請輸入一串?dāng)?shù)據(jù):")#初始化一個空字符串來保存結(jié)果cleaned_data=""#遍歷輸入字符串中的每個字符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("請輸入一個4位整數(shù)年份:"))#判斷是否為閏年的邏輯ifyear%400==0:print(f"{year}年是閏年。")elifyear%4==0andyear%100!=0:print(f"{year}年是閏年。")else:print(f"{year}年不是閏年。")3.如果一個四位數(shù),即位于1000到9999之間(包括1000和9999),它的每一位數(shù)字(千位、百位、十位、個位)的四次方之和等于這個數(shù)本身。這些數(shù)字因其獨特的性質(zhì)而被稱為四位水仙花數(shù),也叫阿姆斯特朗數(shù),請編寫程序找出所有的阿姆斯特朗數(shù)。#查找所有的四位阿姆斯特朗數(shù)fornuminrange(1000,10000):#四位數(shù)的范圍是1000到9999#將數(shù)字轉(zhuǎn)換為字符串,以便可以訪問每個位上的數(shù)字str_num=str(num)#獲取數(shù)字的位數(shù)n=len(str_num)#初始化sum為0sum_of_powers=0#遍歷每個位上的數(shù)字fordigitinstr_num:#將字符串轉(zhuǎn)換為整數(shù)并計算其n次冪sum_of_powers+=int(digit)**n#如果各位數(shù)字的n次冪之和等于原數(shù),則返回Trueifsum_of_powers==num:print(num)4百錢買百雞問題:一只公雞值五錢,一只母雞值三錢,三只小雞值一錢,現(xiàn)在要用百錢買百雞,請問公雞、母雞、小雞各多少只?編程解決以上問題。forxinrange(0,21):#公雞最多20只(因為5錢一只,超過20只則總價超過100錢)foryinrange(0,34):#母雞最多33只(因為3錢一只,超過33只則總價超過100錢)#根據(jù)公雞和母雞的數(shù)量計算小雞的數(shù)量z=100-x-y#檢查小雞的數(shù)量是否能被3整除(因為3只小雞值1錢)ifz%3==0:#計算總錢數(shù)total_money=5*x+3*y+z//3#檢查是否滿足題目條件iftotal_money==100:#如果滿足條件,則輸出print("公雞:{}只,母雞:{}只,小雞:{}只".format(x,y,z))5、只能由1和它本身整除的整數(shù)被稱為素數(shù);若一個素數(shù)從左向右讀與從右向左讀是是相同的數(shù),則該素數(shù)為回文素數(shù)。編程求解2~10000內(nèi)的所有回文素數(shù)。defis_prime(n):"""判斷一個數(shù)是否是素數(shù)"""ifn<2:returnFalseforiinrange(2,int(n**0.5)+1):ifn%i==0:returnFalsereturnTruedefis_palindrome(n):"""判斷一個數(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ù),簡稱體質(zhì)指數(shù),是國際上常用的衡量人體胖瘦程度以及是否健康的一個標(biāo)準(zhǔn),由19世紀(jì)中期的比利時通才朗伯·阿道夫·雅克·凱特勒最先提出。計算公式為:BMI=體重÷身高2。(體重單位:千克;身高單位:米。)。當(dāng)BMI數(shù)值低于18.5時,體重偏瘦;當(dāng)BMI數(shù)值大于等于18.5小于24.9時,體重正常;當(dāng)BMI數(shù)值大于24.9時,體重過胖。體重偏瘦和體重過胖都屬于異常結(jié)果。編寫程序,輸入體重(公斤)和身高(米),利用公式計算BMI,并將結(jié)果輸出(體重正常、偏瘦和過胖)。#獲取用戶輸入weight=float(input("請輸入您的體重(公斤):"))height=float(input("請輸入您的身高(米):"))#計算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è)對銷售人員的獎勵措施如下:底薪為3000元,獎金根據(jù)銷售額提成,比例如下:(1)當(dāng)銷售額<=50000時,沒有提成;(2)當(dāng)50000<銷售額<=100000時,提成0.8%;(3)當(dāng)100000<銷售額<=200000時,提成1.2%;(4)當(dāng)銷售額>20000時,提成1.8%。要求編寫程序,通過輸入員工的銷售額,計算并輸出應(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.編寫程序,實現(xiàn)分段函數(shù)計算,如下表所示。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ù)用性。(對)函數(shù)在定義后會立刻執(zhí)行。(錯)變量在程序的任意位置都可以被訪問。(錯)調(diào)用函數(shù)也就是執(zhí)行函數(shù)。(對)通過return語句,可以返回多個值。(對)lambda表達式,又稱匿名函數(shù),常用來表示內(nèi)部僅包含一行表達式的函數(shù)。(對)通過調(diào)用Python的help()內(nèi)置函數(shù)或者__doc__屬性,可以查看某個函數(shù)的使用說明文檔。(對)三、選擇題下列關(guān)于函數(shù)的說法中,描述錯誤的是(C)。函數(shù)可以減少重復(fù)的代碼,使得程序更加模塊化在不同的函數(shù)中可以使用相同名字的變量調(diào)用函數(shù)時,實參的傳遞順序必須與形參的順序相同匿名函數(shù)通常只包含一行代碼,并且沒有函數(shù)名Python語言使用(B)關(guān)鍵字定義一個匿名函數(shù)。anonymousB.lambda C.class D.def Python自定義一個函數(shù)使用(D)關(guān)鍵字。A.anonymousB.lambda C.class D.def閱讀下面的代碼:a=20defadd(b):globalaa=100returna+bprint(add(30))運行代碼,輸出結(jié)果為(B)。A50 B130 C120 D 30閱讀下面的代碼:a=20defadd(b):globalaa=100returna+bprint(a,end="")add(30)print(a)運行代碼,輸出結(jié)果為(C)。A100100 B30100 C20100 D 2020閱讀下面的代碼:a=20defadd(b):a=100returna+bprint(a,end="")add(30)print(a)運行代碼,輸出結(jié)果為(D)。A100100 B30100 C20100 D 2020請閱讀下面的代碼:deffun(n1,n2,*args):s=sum(args)print(s)fun(1,2,3,4,5)運行代碼,輸出結(jié)果為(B)。A15 B12 C3 D 6閱讀以下程序:x=20deffunc():print(x)x=10func()程序執(zhí)行的結(jié)果為(A)。程序異常B、20 C、10 D、30請閱讀下面的代碼: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("輸入錯誤,請重試")當(dāng)程序運行后,小新依次輸入86*程序輸出結(jié)果應(yīng)為(C)A.18 B.11 C.48 D.4哪個是Python中的匿名函數(shù)定義?(B)A.defmy_function():returnTrueB.lambdax:x*x*xC.classMyLambda:D.x=x**2在Python中,以下哪個表達式正確地使用了一個匿名函數(shù)來計算兩個數(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.錯誤,因為map函數(shù)不支持匿名函數(shù)哪個語句不能定義匿名函數(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.錯誤,因為filter函數(shù)不支持匿名函數(shù)四、簡答題簡述函數(shù)的定義和代碼復(fù)用。答:定義函數(shù)需要用def關(guān)鍵字實現(xiàn),具體的語法格式如下:def函數(shù)名(參數(shù)列表): ‘’’文檔字符串’’’[return[返回值]]函數(shù)的定義包括函數(shù)頭和函數(shù)體兩部分,數(shù)頭以關(guān)鍵字def開始,后跟一個空格和函數(shù)名,接著是一對括號,括號內(nèi)可列出函數(shù)的參數(shù),多個參數(shù)用逗號間隔,括號之后是一個冒號,函數(shù)體由多條語句構(gòu)成,與函數(shù)頭維持一個層級的縮進,函數(shù)頭和函數(shù)體之間可以加入三重引號界定的字符串作為注釋,即文檔字符串,用于簡述函數(shù)的功能。 軟件復(fù)用是指在開發(fā)新的軟件系統(tǒng)時,對已有的軟件或軟件模塊重新使用。這里的“已有的軟件”可以是已經(jīng)存在的軟件,也可以是專門設(shè)計的可復(fù)用組件。軟件復(fù)用的主要目的是提高軟件系統(tǒng)的開發(fā)質(zhì)量與效率,同時降低開發(fā)成本。簡述pass語句的作用。 pass語句主要是作為一個空語句,用于保持程序結(jié)構(gòu)的完整性。其作用的具體包括占位符,pass語句在Python中不執(zhí)行任何操作,它主要用于在需要語法上完整的語句塊,但暫時不需要執(zhí)行任何實際代碼的情況下作為占位符。簡述局部變量和全局變量的區(qū)別。變量按其作用域的不同,可劃分為局部變量和全局變量。在函數(shù)體或局部范圍內(nèi)聲明的變量稱為局部變量,函數(shù)內(nèi)部定義的變量為局部變量(localvariable),其只在函數(shù)內(nèi)起作用,函數(shù)執(zhí)行結(jié)束后,會被自動刪除,函數(shù)外部定義的變量為全局變量(globalvariable),函數(shù)內(nèi)部可以訪問全局變量,函數(shù)調(diào)用結(jié)束后,全局變量仍存在。簡述模塊和包的含義。 Python模塊是一個包含Python定義和語句的文件,文件名以.py為擴展名。模塊可以定義函數(shù)、類、變量等,并包含可執(zhí)行的代碼。使用模塊的主要目的是組織代碼和提供功能。通過將相關(guān)的函數(shù)、類和變量封裝在模塊中,可以提高代碼的可讀性和可維護性。模塊也可以避免函數(shù)名和變量名發(fā)生沖突。 將一個包含Python代碼文件的目錄(文件夾)稱為包(package),相應(yīng)的導(dǎo)入即為包導(dǎo)入,要使用包導(dǎo)入,只需在import語句中列出目錄路徑,不同層次間以點號間隔。 簡述導(dǎo)入模塊的四種方法。模塊導(dǎo)入的語法格式:(1)導(dǎo)入模塊:import模塊名[AS標(biāo)識符]#導(dǎo)入模塊(或同時取別名)(2)導(dǎo)入模塊中所有項目(函數(shù)、類或變量):from模塊名import*(3)導(dǎo)入模塊中指定項目:from模塊名import項目名[AS標(biāo)識符](4)導(dǎo)入指定包模塊中指定項目:from包名.模塊名import項目名[AS標(biāo)識符]五、編程題編寫函數(shù),計算1~1000中奇數(shù)之和。defsum_of_odds():returnsum(range(1,1001,2))print(sum_of_odds())編寫函數(shù),計算1*2*3*……*20也就是20!的乘積。deffactorial(n):ifn==0:return1returnn*factorial(n-1)print(factorial(20))編寫函數(shù),判斷用戶輸入的整數(shù)是否為回文數(shù)。回文數(shù)是一個正向和逆向都相同的整數(shù),如123454321、9889。defis_palindrome(n):returnstr(n)==str(n)[::-1]n=eval(input("請輸入數(shù):"))ifis_palindrome(n):print(n,"是回文數(shù)")else:print(n,"不是回文數(shù)")編寫函數(shù),判斷用戶輸入的三個數(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ù),求兩個正整數(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ù),計算傳入的字符串中數(shù)字、字母、空格和其它字符的個數(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)古代有一個梵塔,塔內(nèi)有A、B、C三個基座,A座上有60個盤子,盤子大小不等,大的在下,小的在上。有人想把這60個盤子從A座移到C座,但每次只允許移動一個盤子,并且在移動的過程中,3個基座上的盤子始終保持大盤在下,小盤在上。在移動過程中盤子可以放在任何一個基座上,不允許放在別處。編寫函數(shù),根據(jù)用戶輸入盤子的個數(shù),顯示移動的過程。defhanoi(n,A,B,C):#將n個盤子從A借助B移動到Cifn>0:#將n-1個盤子從A借助C移動到Bhanoi(n-1,A,C,B)#將第n個盤子從A移動到Cprint('Movedisk{n}from{A}to{C}'.format(n=n,A=A,C=C))#將n-1個盤子從B移動到Chanoi(n-1,B,A,C)#調(diào)用hanoi函數(shù),初始時60個盤子在A上,目標(biāo)移到C,B作為輔助hanoi(60,'A','B','C')輸出1~100以內(nè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ù),判斷一個整數(shù)是否為回文素數(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("請輸入一個整數(shù):"))ifis_palindrome_prime(num):print("%d是回文素數(shù)"%num)else:print("%d不是回文素數(shù)"%num)#調(diào)用主程序if__name__=="__main__":main()編寫函數(shù),接收一個字符串,分別統(tǒng)計大寫字母、小寫字母、數(shù)字、其他字符的個數(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)局部變量會隱藏同名的全局變量嗎?請編寫程序代碼進行驗證。局部變量會隱藏同名的全局變量,以下是驗證代碼: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)#或者使用冒泡排序等算法實現(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)),那么表達式fun(2,3,’+‘)的值為多少? 5編寫函數(shù),可以接收任意多個整數(shù)并輸出其中的最大值和所有整數(shù)之和。defmax_and_sum(*args):ifnotargs:returnNone,0#初始化最大值為第一個元素,總和為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))有一個數(shù)列,形式為1113591731,請編寫程序計算該數(shù)列第2024項的值。deffibonacci_variant_triple(n):ifn<=3:return1#前三項都是1sequence=[1,1,1]#初始化前三項foriinrange(3,n):sequence.append(sum(sequence[-3:]))#將前三項之和添加到數(shù)列中returnsequence[-1]#返回第n項的值#計算數(shù)列的第2024項print(fibonacci_variant_triple(2024))第5章一、判斷題答案:正確(√)正確(√)錯誤(×)正確(√)二、填空題答案:任何不可變互不相同鍵,值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("請輸入若干個單詞,用空格分隔:").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':'玖','.':'點'}chinese_str=''forcharinstr(num):chinese_str+=chinese_num[char]returnchinese_strprint(num_to_chinese(1.23))12.隨機生成整數(shù)列表:importrandomrandom_numbers=[random.randint(1,100)for_inrange(10)]print(random_numbers)
第6章一、判斷題答案:正確(√)正確(√)正確(√)錯誤(×)二、填空題答案:openevalxml.etree.ElementTreejson三、選擇題答案:ABDADCAAAA四、編程題答案:1.單詞出現(xiàn)次數(shù)統(tǒng)計:fromcollectionsimportCounterwithopen('filename.txt','r')asfile:text=file.read()words=text.split()word_counts=Counter(words)forword,countinword_counts.most_common():print(word,count)2.存儲和讀取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.計算某一行的長度: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.計算每列平均值: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.讀取二進制文件并轉(zhuǎn)換為十六進制字符串:withopen('binaryfile.bin','rb')asfile:binary_data=file.read()hex_string=binary_data.hex()print(hex_string)15.寫入二進制數(shù)據(jù)到新文件:withopen('binaryfile.bin','rb')asinfile,open('new_binaryfile.bin','wb')asoutfile:binary_data=infile.read()outfile.write(binary_data)第7章一、判斷題答案:正確(√)錯誤(×)正確(√)正確(√)二、填空題答案:defimportintif三、選擇題答案:ACABBADACBDCD四、編程題答案:1.簡單計算器:defcalculator():num1=float(input("請輸入第一個數(shù)字:"))num2=float(input("請輸入第二個數(shù)字:"))operator=input("請輸入操作符(+、-、*、/):")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.簡單日歷:importcalendardefprint_calendar(year,month):cal=calendar.TextCalendar(calendar.SUNDAY)print(cal.formatmonth(year,month))year=int(input("請輸入年份:"))month=int(input("請輸入月份:"))print_calendar(year,month)3.石頭、剪刀、布游戲:importrandomdefrock_paper_scissors():user_choice=int(input("請輸入手勢(1-石頭,2-剪刀,3-布):"))choices=["石頭","剪刀","布"]computer_choice=random.choice(choices)print(f"電腦出的手勢是:{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("猜一個1到100之間的數(shù)字:"))ifguess<number:print("太小了,再試一次。")elifguess>number:print("太大了,再試一次。")else:print("恭喜你,猜對了!")breakexceptValueError:print("請輸入一個有效的整數(shù)。")guess_number()5.簡單文本編輯器:deftext_editor():filename=input("請輸入文件名:")try:withopen(filename,'r')asfile:content=file.read()print("文件內(nèi)容如下:")print(content)add_content=input("請輸入要添加的文本內(nèi)容:")withopen(filename,'a')asfile:file.write(add_content+"\n")print("內(nèi)容已添加并保存。")exceptFileNotFoundError:print(f"文件{filename}未找到。")text_editor()6.簡單電子郵件客戶端:importsmtplibdefsend_email():sender=input("請輸入發(fā)件人地址:")receiver=input("請輸入收件人地址:")subject=input("請輸入郵件主題:")body=input("請輸入郵件正文:")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章一、判斷題答案:正確(√)正確(√)錯誤(×)正確(√)二、填空題答案: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.輸出實心菱形圖案: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ù)組并計算統(tǒng)計數(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.計算文本文件中單詞出現(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等.壓縮文件請下載最新的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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘇州2025年江蘇常熟理工學(xué)院招聘78人(一)筆試歷年參考題庫附帶答案詳解
- 溫州2025年上半年浙江溫州市市級事業(yè)單位選調(diào)工作人員筆試歷年參考題庫附帶答案詳解
- 河北2025年河北省氣象部門招聘應(yīng)屆畢業(yè)生(第三批)筆試歷年參考題庫附帶答案詳解
- 工廠生產(chǎn)物料管理異常報告模板
- 職場新人職業(yè)規(guī)劃與發(fā)展指導(dǎo)書
- 三年級數(shù)學(xué)新課標(biāo)教學(xué)案例分析
- 三角函數(shù)常見題型詳解及計算技巧
- 語文六年級下冊重點字詞專項練習(xí)
- 新員工入職培訓(xùn)考核試題集
- 建筑門窗質(zhì)量檢測標(biāo)準(zhǔn)解讀
- 學(xué)習(xí)型班組匯報
- 西藏介紹課件
- 新高考地理備考策略
- 會務(wù)理論考試題及答案
- 雷達原理基礎(chǔ)知識課件
- 2025年病歷書寫基本規(guī)范考試試題(附答案)
- 2025年輕型飛機項目規(guī)劃申請報告模板
- 2024~2025學(xué)年內(nèi)蒙古自治區(qū)通遼市九年級上學(xué)期期末語文試卷
- 高級心理咨詢師考試試卷及答案2025年
- (2025)社區(qū)網(wǎng)格員筆試考試題庫及答案
- 簡約風(fēng)共青團團支書競選自我介紹
評論
0/150
提交評論