《Python快速編程入門》期末考試復(fù)習(xí)題庫(含答案)_第1頁
《Python快速編程入門》期末考試復(fù)習(xí)題庫(含答案)_第2頁
《Python快速編程入門》期末考試復(fù)習(xí)題庫(含答案)_第3頁
《Python快速編程入門》期末考試復(fù)習(xí)題庫(含答案)_第4頁
《Python快速編程入門》期末考試復(fù)習(xí)題庫(含答案)_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

PAGEPAGE1《Python快速編程入門》期末考試復(fù)習(xí)題庫(含答案)一、單選題1.下列方法中,可以將字符串中的字母全部轉(zhuǎn)換為大寫的是()。A、upper()B、lower()C、title()D、capitalize()答案:A2.閱讀下面程序:Random.randrange(1,10,2)下列選項中,不可能為以上程序輸出結(jié)果的是()。A、1B、4C、7D、9答案:B3.已知x與y的關(guān)系如表3-1所示:表3-1x與y的關(guān)系以下選項中,可以正確地表達(dá)x與y之間關(guān)系的是()。A、Y=x+1Ifx>=0:ifx==0:y=xelse:y=x-1B、Y=x-1Ifx!=0:ifx>0:y=x+1else:y=xC、Ifx<=0:ifx<0:y=x-1else:y=xElse:y=x+1D、Y=xIfx<=0:ifx<0:y=x-1else:y=x+1答案:C4.下列選項中,屬于數(shù)值類型的是()。A、0B、1.0C、1+2jD、以上全部答案:D5.下列選項中,用于向文件中寫入數(shù)據(jù)的是()。A、open()B、write()C、lose()D、read()答案:D6.下列代碼要打開的文件應(yīng)該在()。F=open('itheima.txt','w')A、C盤根目錄B、D盤根目錄C、Python安裝目錄D、程序所在目錄答案:D7.打開一個已有文件,在文件末尾添加信息,正確的打開方式為()。A、rB、wC、aD、w+答案:C8.閱讀下面的程序:Li_one=[2,1,5,6]Print(sorted(li_one[:2]))運行程序,輸出結(jié)果是()。A、[1,2]B、[2,1]C、[1,2,5,6]D、[6,5,2,1]答案:A9.下列選項中,不屬于Python數(shù)據(jù)類型的是()。A、boolB、dictC、stringD、set答案:C10.下列選項中,關(guān)于異常描述錯誤的是()。A、錯誤就是異常,異常就是錯誤B、異常是程序運行時產(chǎn)生的C、IndexError是Exception的子類D、except子句一定位于else和finally子句之前答案:A11.下列方法中,返回結(jié)果是時間戳的是()。A、time.sleep()B、time.localtime()C、time.strftime()D、time.ctime()答案:B12.Python中使用()符號表示單行注釋。A、#B、/C、//D、<!>答案:A13.請閱讀下面的代碼:Defmany_param(num_one,num_two,*args):print(args)Many_param(11,22,33,44,55)運行代碼,輸出結(jié)果為()。A、(11,22,33)B、(22,33,44)C、(33,44,55)D、(11,22)答案:C14.請閱讀下面的代碼:ClassTest:count=21defprint_num(self):count=20self.count+=20print(count)Test=Test()Test.print_num()運行代碼,輸出結(jié)果為()。A、20B、40C、21D、41答案:A15.現(xiàn)有如下代碼:Sum=0Foriinrange(100):if(i%10):continuesum=sum+iPrint(sum)若運行代碼,輸出的結(jié)果為()。A、5050B、4950C、450D、45答案:C16.下列方法中,可以對列表元素排序的是()。A、sort()B、reverse()C、max()D、list()答案:A17.當(dāng)try子句中的代碼沒有任何錯誤時,一定不會執(zhí)行()子句。A、tryB、exceptC、elseD、finally答案:B18.若執(zhí)行代碼1/0,會引發(fā)什么異常?()A、ZeroDivisionErrorB、NameErrorC、KeyErrorD、IndexError答案:A19.下列選項中,不屬于字符串的是()。A、"1"B、'python'C、"""^"""D、'1'.23答案:D20.下列方法中,默認(rèn)刪除列表最后一個元素的是()。A、delB、remove()C、pop()D、extend()答案:C21.閱讀下面程序:Lan_info={'01':'Python','02':'Java','03':'PHP'}Lan_info.update({'03':'C++'})Print(lan_info)運行程序,輸出結(jié)果是()。A、{'01':'Python','02':'Java','03':'PHP'}B、{'01':'Python','02':'Java','03':'C++'}C、{'03':'C++','01':'Python','02':'Java'}D、{'01':'Python','02':'Java'}答案:B22.在完整的異常捕獲語句中,各子句的順序為()。A、try→except→else→finallyB、try→else→except→finallyC、try→except→finally→elseD、try→else→finally→except答案:A23.下列哪個不是Python的應(yīng)用領(lǐng)域()。A、Web開發(fā)B、科學(xué)計算C、游戲開發(fā)D、操作系統(tǒng)管理答案:D24.下列關(guān)于Python的說法中,錯誤的是()。A、Python是從ABC發(fā)展起來的B、Python是一門高級計算機語言C、Python只能編寫面向?qū)ο蟮某绦駾、Python程序的效率比C程序的效率低答案:C25.下列選項中,用于格式化字符串的是()。A、%B、format()C、f-stringD、以上全部答案:D26.Python中使用()轉(zhuǎn)義字符。A、/B、\C、$D、%答案:B27.Python使用()關(guān)鍵字定義一個匿名函數(shù)。A、functionB、funcC、defD、lambda答案:D28.下列選項中,不屬于Python關(guān)鍵字的是()。A、nameB、ifC、isD、and答案:A29.下列選項中,不屬于面向?qū)ο笕笾匾匦缘氖牵ǎ?。A、抽象B、封裝C、繼承D、多態(tài)答案:A30.下列選項中,用于判斷文件是作為腳本執(zhí)行還是被導(dǎo)入其他程序的是()。A、__init__B、__name__C、__exce__D、__main__答案:B31.假設(shè)文件不存在,如果使用open()方法打開文件會報錯,那么該文件的打開方式是下列哪種?()A、rB、wC、aD、w+答案:A32.若將2轉(zhuǎn)換為0b10,應(yīng)該使用()函數(shù)。A、oct()B、in()C、hex()D、int()答案:B33.下列代碼運行后會引發(fā)()異常。Num_li=[1,2,3]Print(num_li[3])A、SyntaxErrorB、IndexErrorC、KeyErrorD、NameError答案:B34.下列方法中,只能由對象調(diào)用的是()。A、類方法B、實例方法C、靜態(tài)方法D、析構(gòu)方法答案:D35.下列方法中,負(fù)責(zé)初始化屬性的是()。A、__del__()B、__init__()C、__init()D、__add__()答案:B36.閱讀下面程序:Set_01={'a','c','b','a'}Set_01.add('d')Print(len(set_01))運行程序,輸出結(jié)果是()。A、5B、3C、4D、2答案:C37.下列關(guān)于函數(shù)的說法中,描述錯誤的是()。A、函數(shù)可以減少重復(fù)的代碼,使得程序更加模塊化B、不同的函數(shù)中可以使用相同名字的變量C、調(diào)用函數(shù)時,實參的傳遞順序與形參的順序可以不同D、匿名函數(shù)與使用關(guān)鍵字def定義的函數(shù)沒有區(qū)別答案:C38.已知x=10,y=20,z=30;以下代碼執(zhí)行后x、y、z的值分別為()。Ifx<y:z=xx=yy=zA、10,20,30B、10,20,20C、20,10,10D、20,10,30答案:C39.Python使用()關(guān)鍵字自定義一個函數(shù)。A、functionB、funcC、defD、lambda答案:C40.若文本文件abc.txt中的內(nèi)容如下:abcdef閱讀下面的程序:File=open('abc.txt','r')Data=file.readline()Data_list=list(data)Print(data_list)以上程序的執(zhí)行結(jié)果為()。A、['abcdef']B、['abcdef\n']C、['a','b','c','d','e','f']D、['a','b','c','d','e','f','\n']答案:C41.閱讀下面的程序:Gmtime=time.gmtime()Time.asctime(gmtime)下列選項中,可能為以上程序輸出結(jié)果的是()。A、'MonApr1302:05:382020'B、time.struct_time(tm_year=2020,tm_mon=4,tm_mday=11,tm_hour=11,tm_min=54,tm_sec=42,tm_wday=5,tm_yday=102,tm_isdst=-1)C、3173490635.1554217D、'11:54:42'答案:A42.請閱讀下面的代碼:Num_one=12Defsum(num_two):globalnum_onenum_one=90returnnum_one+num_twoPrint(sum(10))運行代碼,輸出結(jié)果為()。A、102B、100C、22D、12答案:B43.下列關(guān)于類的說法,錯誤的是()。A、類中可以定義私有方法和屬性B、類方法的第一個參數(shù)是clsC、實例方法的第一個參數(shù)是selfD、類的實例無法訪問類屬性答案:D44.假設(shè)file是文本文件對象,下列哪個選項可讀取file的一行內(nèi)容?()A、file.read()B、file.read(200)C、file.readline()D、file.readlines()答案:C45.下列選項中,運行后會輸出1、2、3的是()。A、Foriinrange(3):print(i)B、Foriinrange(2):print(i+1)C、Nums=[0,1,2]Foriinnums:print(i+1)D、I=1Whilei<3:print(i)i=i+1答案:C46.下列選項中,不是Python語言特點的是()。A、簡潔B、開源C、面向過程D、可移植答案:C47.下列語句中,可以跳出循環(huán)結(jié)構(gòu)的是()。A、continueB、reakC、ifD、while答案:B48.下列選項中,用于獲取當(dāng)前目錄的是()。A、open()B、write()C、getcwd()D、read()答案:C49.關(guān)于字符串的說法中,下列描述錯誤的是()。A、字符串創(chuàng)建后可以被修改B、字符串可以使用單引號、雙引號和三引號定義C、轉(zhuǎn)義字符\n表示換行D、格式符均由%和說明轉(zhuǎn)換類型的字符組成答案:A50.下列選項中,不會在發(fā)布自定義庫時用到的是()。A、pythonsetup.pybuildB、pythonsetup.pysdistC、pythonsetup.pyinstallD、以上全部答案:D判斷題1.break語句用于結(jié)束循環(huán)。()A、正確B、錯誤答案:B2.無論是使用單引號或雙引號定義的字符串,使用print()輸出的結(jié)果一致。()A、正確B、錯誤答案:A3.字符串中不可以包含特殊字符。()A、正確B、錯誤答案:B4.列表的索引從1開始。()A、正確B、錯誤答案:B5.try-except語句可以有多個finally子句。()A、正確B、錯誤答案:B6.使用write()方法寫入文件時,數(shù)據(jù)會追加到文件的末尾。()A、正確B、錯誤答案:B7.變量在程序的任意位置都可以被訪問。()A、正確B、錯誤答案:B8.自定義庫只能由自己在本地使用。()A、正確B、錯誤答案:B9.jieba是一個中文分詞庫,但該庫同時也可以對英文進行分詞。()A、正確B、錯誤答案:A10.read()方法只能一次性讀取文件中的所有數(shù)據(jù)。()A、正確B、錯誤答案:B11.相比C++程序,Python程序的代碼更加簡潔、語法更加優(yōu)美,但效率較低。A、正確B、錯誤答案:A12.pygame庫中的init()函數(shù)可以初始化所有子模塊。()A、正確B、錯誤答案:A13.斷言語句中表達(dá)式的值為True時會觸發(fā)AssertionError異常。()A、正確B、錯誤答案:B14.PyCharm是Python的集成開發(fā)環(huán)境。()A、正確B、錯誤答案:A15.如果字符串中包含三引號,可以使用單引號包裹這個字符串。()A、正確B、錯誤答案:A16.time模塊是Python的內(nèi)置模塊,可以在程序中直接使用。()A、正確B、錯誤答案:A17.函數(shù)可以提高代碼的復(fù)用性。()A、正確B、錯誤答案:A18.時間差的計算沒有意義。()A、正確B、錯誤答案:B19.“from模塊名import*”語句與“import模塊名”都能導(dǎo)入指定模塊的全部內(nèi)容,相比之下,from…import*導(dǎo)入的內(nèi)容無須指定模塊名,可直接調(diào)用,使用更加方便,因此更推薦在程序中此種方式導(dǎo)入指定模塊的全部內(nèi)容。()A、正確B、錯誤答案:B20.布爾類型是特殊的浮點型。()A、正確B、錯誤答案:B21.模塊文件的后綴名必定是.py。()A、正確B、錯誤答案:A22.if-else語句可以處理多個分支條件。()A、正確B、錯誤答案:B23.子類中不能重新實現(xiàn)從父類繼承的方法。()A、正確B、錯誤答案:B24.以讀寫方式打開一個文件,若文件已存在,文件內(nèi)容會被清空。()A、正確B、錯誤答案:B25.復(fù)數(shù)類型的實數(shù)部分可以為0。()A、正確B、錯誤答案:A26.find()方法返回-1說明子串在指定的字符串中。()A、正確B、錯誤答案:B27.elif可以單獨使用。()A、正確B、錯誤答案:B28.變量名可以以數(shù)字開頭。()A、正確B、錯誤答案:B29.文件打開的默認(rèn)方式是只讀。()A、正確B、錯誤答案:A30.列表只能存儲同一類型的數(shù)據(jù)。()A、正確B、錯誤答案:B31.函數(shù)的位置參數(shù)有嚴(yán)格的位置關(guān)系。()A、正確B、錯誤答案:A32.finally子句在任何情況下都會被執(zhí)行。()A、正確B、錯誤答案:A33.子類能繼承父類全部的屬性和方法。()A、正確B、錯誤答案:B34.實例方法可以由類和對象調(diào)用。()A、正確B、錯誤答案:A35.Python標(biāo)識符不區(qū)分大小寫。()A、正確B、錯誤答案:B36.創(chuàng)建類的對象時,系統(tǒng)會自動調(diào)用構(gòu)造方法進行初始化。()A、正確B、錯誤答案:A37.if語句不支持嵌套使用。()A、正確B、錯誤答案:B38.Python中可以使用關(guān)鍵字作為變量名。()A、正確B、錯誤答案:B39.元組支持增加、刪除和修改元素的操作。()A、正確B、錯誤答案:B40.Python3.x版本完全兼容Python2.x。()A、正確B、錯誤答案:B41.字典中的元素可通過索引方式訪問。()A、正確B、錯誤答案:B42.Python程序中使用內(nèi)置庫與第三方庫的方式相同,但使用第三方庫之前需要先將庫導(dǎo)入程序。()A、正確B、錯誤答案:A43.Python開發(fā)人員可以使用內(nèi)置庫,也可以使用第三方庫。()A、正確B、錯誤答案:A44.任何函數(shù)內(nèi)部都可以直接訪問和修改全局變量。()A、正確B、錯誤答案:B45.函數(shù)在定義完成后會立刻執(zhí)行。()A、正確B、錯誤答案:B46.實際開發(fā)中,目錄操作需要使用os模塊中的函數(shù)。()A、正確B、錯誤答案:A47.rjust()方法用于將字符串的字符以右對齊方式進行顯示。()A、正確B、錯誤答案:A48.try-except語句中只能有一個except子句。()A、正確B、錯誤答案:B49.集合中的元素?zé)o序。()A、正確B、錯誤答案:A50.字典中的鍵唯一。()A、正確B、錯誤答案:A填空題1.os模塊中的mkdir()函數(shù)用于()。答案:_|創(chuàng)建目錄2.()是一種按照一定的規(guī)則,自動從網(wǎng)絡(luò)上抓取信息的程序或者腳本。答案:網(wǎng)絡(luò)爬蟲3.定義字符串可使用()、雙引號和三引號包裹。答案:單引號4.Python中使用()關(guān)鍵字來聲明一個類。答案:class5.匿名函數(shù)是一類無須定義()的函數(shù)。答案:函數(shù)名6.布爾類型的取值包括()和()。答案:True|False7.()指用適當(dāng)?shù)慕y(tǒng)計分析方法對收集來的大量數(shù)據(jù)進行匯總與分析,以求最大化地發(fā)揮數(shù)據(jù)的作用。答案:數(shù)據(jù)分析8.Python是面向()的高級語言。答案:對象9.Python使用()關(guān)鍵字可以將局部變量聲明為全局變量。答案:global10.Python可以通過在類成員名稱之前添加()的方式將公有成員改為私有成員。答案:雙下畫線11.被繼承的類稱為(),繼承其他類的類稱為()。答案:父類或基類|子類或派生類12.Python中的循環(huán)語句有()和()循環(huán)。答案:for|while13.Python模塊的本質(zhì)是()文件。答案:Python14.請簡述讀取文件3種方法read()、readline()、readlines()的區(qū)別。答案:_|_|常用的文件打開模式有r、w、a,其中r以只讀的方式打開文件;w以只寫的方式打開文件;a以追加的方式打開文件。15.使用()函數(shù)可查看數(shù)據(jù)的類型。答案:type16.Python可以在多種平臺運行,這體現(xiàn)了Python語言()的特性。答案:可移植性17.自定義異常需要繼承()類。答案:Exception18.調(diào)用items()方法可以查看字典中的所有()。答案:_|值的集合19.若不滿足assert語句中的表達(dá)式會引發(fā)()異常。答案:AssertionError20.當(dāng)程序中使用了一個未定義的變量時會引發(fā)()異常。答案:NameError21.若循環(huán)條件的值變?yōu)椋ǎ?,說明程序進入無限循環(huán)。答案:True22.seek()方法用于指定文件讀寫位置,該方法的()參數(shù)表示要偏移的字節(jié)數(shù)。答案:_|offset23.全局變量是指在函數(shù)()定義的變量。答案:外24.使用內(nèi)置的()函數(shù)可創(chuàng)建一個列表。答案:list25.float()函數(shù)用于將數(shù)據(jù)轉(zhuǎn)換為()類型的數(shù)據(jù)。答案:_|浮點26.打開文件對文件進行讀寫后,應(yīng)調(diào)用()方法關(guān)閉文件以釋放資源。答案:close()27.使用()關(guān)鍵字可以在當(dāng)前程序中導(dǎo)入模塊。答案:import28.()循環(huán)一般用于實現(xiàn)遍歷循環(huán)。答案:for29.刪除字符串中頭部的空格,可以使用()方法。答案:lstrip()30.通過Python的()函數(shù)可以初始化所有子模塊。答案:init()31.使用()語句可以將指定模塊中的全部內(nèi)容導(dǎo)入當(dāng)前程序。答案:from…import*32.Python中所有異常都是()的子類。答案:BaseException33.子類中使用()函數(shù)可以調(diào)用父類的方法。答案:super()34.Python中建議使用()個空格表示一級縮進。答案:435.在讀寫文件的過程中,()方法可以獲取當(dāng)前的讀寫位置。答案:tell()36.()語句是最簡單的條件語句。答案:if37.字典元素由()和()組成。答案:鍵|值38.()語句可以跳出本次循環(huán),執(zhí)行下一次循環(huán)。答案:continue39.Python計算生態(tài)通過()、()、()庫為數(shù)據(jù)分析領(lǐng)域提供支持。答案:Numpy|Pandas|SciPy40.設(shè)計一個Course(課程)類,該類中包括number(編號)、name(名稱)、teacher(任課教師)、location(上課地點)共4個屬性,其中l(wèi)ocation是私有屬性;還包括__init__()、show_info()(顯示課程信息)共兩個方法。設(shè)計完成后,創(chuàng)建Course類的對象顯示課程的信息。答案:_|_ClassCourse:def__init__(self):self.number=1001="語文"self.teacher="張老師"self.__location="2號教學(xué)樓3層305室"defshow_info(self):return("""課程編號:%d課程名稱:%s任課教師:%s上課地點:%s"""%(self.number,,self.teacher,self.__location))Course=Course()Print(course.show_info())41.Python中列表的元素可通過()或()兩種方式訪問。答案:切片|索引42.設(shè)計一個Circle(圓)類,該類中包括屬性radius(半徑),還包括__init__()、get_perimeter()(求周長)和get_area()(求面積)共三個方法。設(shè)計完成后,創(chuàng)建Circle類的對象求圓的周長和面積。答案:_|_|ClassCircle:def__init__(self,tup,radius,color):self.center=tupself.radius=radiusself.color=colordefperimeter(self):return3.14*2*self.radiusdefarea(self):return3.14*self.radius*self.radiusCircle=Circle((0,0),5,"藍(lán)色")Print(circle.perimeter())Print(circle.area())43.readlines()方法讀取整個文件內(nèi)容后會返回一個()。答案:_|列表44.random是Python的()庫,pygame是()庫。答案:標(biāo)準(zhǔn)庫|第三方庫45.類的成員包括()和()。答案:類方法|類屬性46.()是組織好的、實現(xiàn)單一功能或相關(guān)聯(lián)功能的代碼段。答案:函數(shù)47.若函數(shù)內(nèi)部調(diào)用了自身,則這個函數(shù)被稱為()。答案:遞歸函數(shù)48.拼接字符串可以使用()方法和運算符()。答案:join|+49.若a=3,b=-2,則a+=b的結(jié)果為()。答案:150.使用內(nèi)置的()函數(shù)可創(chuàng)建一個元組。答案:tuple簡答題1.請寫出raise語句拋出異常的3種格式,并簡單介紹每種格式的功能。答案:拋出異常的方式有raise異常類;raise異常對象和raise,其中第一種是使用異常類名引發(fā)指定的異常;第二種是使用異常類的對象引發(fā)指定的異常;第三種是使用剛出現(xiàn)過的異常重新引發(fā)異常。2.編寫程序,檢查字符串"Lifeisshort.Iusepython"中是否包含字符串"python",若包含則替換為"Python"后輸出新字符串,否則輸出原字符串。答案:String="Lifeisshort.Iusepython"Ifstring.find('python'):new_string=string.replace('python','Python')print(new_string)Else:print(string)3.簡述函數(shù)參數(shù)混合傳遞的規(guī)則。答案:4.簡述介紹Python中庫、包和模塊的概念。答案:Python中的庫分為標(biāo)準(zhǔn)庫和第三方庫,標(biāo)準(zhǔn)庫可以在Python中直接使用,第三方庫需要進行安裝;模塊本質(zhì)上是一個包含Python代碼片段的.py文件;將模塊放入到一個文件夾中,并在該文件夾中創(chuàng)建__init__.py文件,就構(gòu)建了一個Python包。5.列舉Python中常用的組合數(shù)據(jù)類型,簡單說明它們的異同。答案:Python中組合類型有列表、元組、字典和集合,這些數(shù)據(jù)類型都可以存儲任意個元素。從訪問元素來看,列表、元組和集合都可以通過索引獲取數(shù)據(jù),而字典類型數(shù)據(jù)沒有索引;從存儲數(shù)據(jù)來看,列表中的元素可以隨意更改;存儲在元組中的元素不可更改;存儲在字典中鍵具有唯一性;存儲在集合中的元素具有不重復(fù)性。6.整數(shù)求和。輸入整數(shù)n,計算1~n之和。答案:N=int(input("請輸入一個整數(shù):"))Sum=0Foriinrange(n):sum+=nPrint("1~%d的求和結(jié)果為%d"%(n,sum))7.簡述實例方法、類方法、靜態(tài)方法的區(qū)別。答案:1類方法需要使用classmethod進行標(biāo)識,該方法可以訪問類屬性,無法訪問實例屬性,可以通過類實例和類進行調(diào)用。靜態(tài)方法使用staticmethod進行標(biāo)識,該方法無法訪問實例屬性和類屬性,起到類似于函數(shù)的作用,使用類或者類實例進行調(diào)用。實例方法直接在類中使用def進行定義,可以訪問其實例屬性和類屬性,使用類實例進行調(diào)用。如果要修改實例屬性的值,就直接使用實例方法;如果要修改類屬性的值,就直接使用類方法;如果是輔助功能,比如打印菜單,這時可以考慮使用靜態(tài)方法,可以在不創(chuàng)建對象的前提下使用。8.讀取存儲《哈姆雷特》英文劇本的文件,分析統(tǒng)計其中單詞出現(xiàn)的頻率,使用turtle模塊繪制詞頻統(tǒng)計結(jié)果,以柱狀圖的形式展示統(tǒng)計結(jié)果。統(tǒng)計效果如圖10-24所示。圖10-1統(tǒng)計結(jié)果參考圖示答案:Importturtle'''全局變量'''Amount=10#詞頻排列顯示個數(shù)Words=[]#單詞集合-x軸數(shù)據(jù)WCounts=[]#單詞頻數(shù)集合-y軸數(shù)據(jù)XPoint=-360YPoint=-200'''turtlestart'''#繪制從點(x1,y1)到(x2,y2)的線段DefdrawLine(t,x1,y1,x2,y2):t.penup()t.goto(x1,y1)t.pendown()t.goto(x2,y2)#在坐標(biāo)(x,y)處寫文字DefdrawText(t,x,y,text,fontSize=10):t.penup()t.goto(x,y)t.pendown()t.write(text,font=('微軟雅黑',fontSize,),align='center')#繪制矩形DefdrawRectangle(t,x,y,rWidth):drawLine(t,x-rWidth,yPoint,x-rWidth,y)drawLine(t,x-rWidth,y,x+rWidth,y)drawLine(t,x+rWidth,y,x+rWidth,yPoint)drawLine(t,x+rWidth,yPoint,x-rWidth,yPoint)#繪制柱狀圖DefdrawBarchart(t):drawText(t,0,-yPoint-40,"詞頻統(tǒng)計結(jié)果",15)#繪制標(biāo)題drawRectangle(t,0,-yPoint,-xPoint)#繪制邊框rWidth=-xPoint/(2*amount)#控制條形柱寬度(2rWidth)xScale=-xPoint*2/(amount+1)#x軸顯示放大倍數(shù)-可根據(jù)amount進行調(diào)節(jié)yScale=-yPoint/wCounts[0]#y軸顯示放大倍數(shù)-可根據(jù)頻數(shù)進行調(diào)節(jié)foriinrange(amount):i=i+1#右移以避免與原點重合x=i*xScale+xPointy=wCounts[i-1]*yScale+yPointdrawText(t,x,yPoint-20,words[i-1])#打印單詞drawText(t,x,y+10,wCounts[i-1])#打印頻率t.begin_fill()drawRectangle(t,x,y,rWidth)t.end_fill()#初始化窗口Definit():turtle.title('詞頻結(jié)果柱狀圖')turtle.screensize(900,750,"#272727")t=turtle.Turtle()t.hideturtle()#隱藏箭頭t.width(1)#線條粗細(xì)t.color("#EBEBD0","#006030")#t.color("#006030","#FFF68C")drawBarchart(t)#繪制turtle.exitonclick()'''dataProcessing'''#對文本的每一行計算詞頻的函數(shù)DefprocessLine(line,wordamounts):line=replacePunctuations(line)#用空格替換標(biāo)點符號words=line.split()#從每一行獲取每個詞forwordinwords:ifwordinwordamounts:wordamounts[word]+=1else:wordamounts[word]=1#空格替換標(biāo)點DefreplacePunctuations(line):forchinline:ifchin"~!#$%^&*()-_+=<>?/,.:;{}[]|\'\"":line=line.replace(ch,'')returnline#數(shù)據(jù)處理,得到文件中出現(xiàn)頻率最高的單詞及其頻數(shù)DefdataProcess(filename):infile=open(filename,'r',encoding='UTF-8')wordamounts={}#建立用于記錄詞頻的空字典forlineininfile:processLine(line.lower(),wordamounts)pairs=list(wordamounts.items())#從字典中獲取數(shù)據(jù)對items=[[x,y]for(y,x)inpairs]#列表中的數(shù)據(jù)對交換位置,使頻數(shù)成為元素的鍵值items.sort()#列表排序。默認(rèn)根據(jù)鍵值排序#輸出amount個詞頻結(jié)果foriinrange(len(items)-1,len(items)-amount-1,-1):print(items[i][1]+"\t"+str(items[i][0]))wCounts.append(items[i][0])words.append(items[i][1])infile.close()Defmain():#用戶輸入一個文件名filename=input("enterafilename:").strip()dataProcess(filename)init()#調(diào)用main()函數(shù)If__name__=='__main__':main()9.請簡述Python中格式化字符串的幾種方式。答案:10.簡述構(gòu)造方法和析構(gòu)方法的特點。答案:11.打印九九乘法表。答案:Foriinrange(1,10):forjinrange(1,i+1):print("%d×%d=%-2d"%(j,i,i*j),end='')print('')12.若想對兩個表示時間的變量進行計算,應(yīng)將時間轉(zhuǎn)換為什么格式?為什么?答案:若兩個表示時間的變量進行計算,可以先將其轉(zhuǎn)換為時間戳形式。因為時間戳是以浮點型顯示,便于時間計算與轉(zhuǎn)換。13.編寫程序,計算圓的面積,若半徑為負(fù)值則拋出異常(圓的面積公式:S=πr^2)。答案:ClassNumericalError(Exception):def__init__(self):self.message='請輸入正確的數(shù)據(jù)'ClassCircleArea:defcircle(self):try:radius=int(input("請輸入圓的半徑:\n"))ifradius<0:raiseNumericalError()exceptNumericalErrorase:print(e.message)else:#計算圓的面積print(3.14*radius**2)Circle_area=CircleArea()Circle_area.circle()14.編寫程序,實現(xiàn)文件備份功能。答案:PasswordBook={}Defadd(password,value):ifpasswordnotinpasswordBook.keys():passwordBook[password]=valuesave()else:print("該密碼已存在")Defdelete(password):ifpasswordinpasswordBook.keys():delpasswordBook[password]print(passwordBook)save()else:print("該密碼不存在")Defmodify(password,newValue):ifpasswordinpasswordBook.keys():passwordBook[password]=newValueprint(passwordBook)save()else:print("該密碼不存在")Deffind(value):ifvalueinpasswordBook.values():print("該網(wǎng)址存在")else:print("該網(wǎng)址不存在")Defsave():f=open("password.txt","w")"f.write(str(passwordBook))//"符號不存在"f.close()//"符號不存在DefprintInfo():print("密碼簿的功能如下:")print("1.添加")print("2.刪除")print("3.修改")print("4.查找")I=0Whilei<5:printInfo()num=int(input("請輸入要選擇的功能:"))ifnum==1:web=input("請輸入存入的網(wǎng)址:")password1=input("請輸入密碼:")add(password1,web)print(passwordBook)elifnum==2:password2=input("請輸入密碼:")delete(password2)elifnum==3:password3=input("請輸入密碼:")value3=input("請輸入新的網(wǎng)址:")modify(password3,value3)elifnum==4:value4=input("請輸入要查找的網(wǎng)址:")find(value4)i+=115.簡述while和for語句的區(qū)別。答案:16.簡單介紹如何導(dǎo)入與使用模塊。答案:Python中可以使用關(guān)鍵字import導(dǎo)入一個或多個模塊,也可以使用from模塊名import*導(dǎo)入模塊中的全部內(nèi)容。17.編寫程序,實現(xiàn)利用while循環(huán)輸出100以內(nèi)偶數(shù)的功能。答案:Num=0Whilenum<=100:ifnum%2==0:print(num)num+=118.簡述Python中模塊、包和庫的意義。答案:模塊是最基礎(chǔ)的代碼組織方式,每個包含有組織的代碼片段的.py文件都是一個模塊;包以類似目錄的機構(gòu)組織模塊文件或子包;庫是一個抽象的概念,它是指具有相關(guān)功能模塊的集合。19.簡述局部變量和全局變量的區(qū)別。答案:20.簡單介紹刪除字典元素的幾種方式。答案:21.編寫程序,實現(xiàn)判斷用戶輸入的數(shù)是正數(shù)還是負(fù)數(shù)的功能。答案:Num=int(input("請輸入一個數(shù):"))Ifnum>0:print("輸入的數(shù)是正數(shù)")Elifnum<0:print("輸入的數(shù)是負(fù)數(shù)")Else:print("輸入的書是零")22.請簡單介紹Python中的運算符答案:23.編寫函數(shù),求兩個正整數(shù)的最小公倍數(shù)。答案:Deflcm(x,y):#獲取最大的數(shù)ifx>y:greater=xelse:greater=ywhileTrue:ifgreater%x==0andgreater%y==0:lcm=greaterbreakgrea

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論