Python 3基礎(chǔ)教程鄧英習(xí)題答案_第1頁
Python 3基礎(chǔ)教程鄧英習(xí)題答案_第2頁
Python 3基礎(chǔ)教程鄧英習(xí)題答案_第3頁
Python 3基礎(chǔ)教程鄧英習(xí)題答案_第4頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

Python3基礎(chǔ)教程鄧英習(xí)題答案第1章(1)系統(tǒng)編程、GUI編程或數(shù)據(jù)庫編程,或其他應(yīng)用,任意列舉3個即可(2)不能(3)不需要(4)UTF-8(5)交互模式執(zhí)行、編寫為程序執(zhí)行(6)>>>a='Python程序設(shè)計'>>>fornin[1,2,3,4]:...print(a)(7)fornin[1,2,3,4,5]:print('學(xué)習(xí)Python編程')第2章(1)數(shù)字、集合、字符串、列表、元組(2)“序列”指按位置進行排序的對象的集合,支持合并、索引和分片等操作。字符串、列表和集合都屬于序列。(3)“映射”表示將鍵和值進行關(guān)聯(lián)的對象,支持通過鍵來獲取關(guān)聯(lián)的值。映射中對象沒有位置的先后順序。(4)bin()、oct()和hecx()函數(shù)分別用于獲得整數(shù)的二進制、八進制和十六進制的形式。(5)10、14、2.5、2(6)abc[100](7){'max':100,'min':0}{'min':-100}(8)x=list(a*10+aforainrange(1,6))

myfile=open(r'd:\listdata.dat','wb')importpicklepickle.dump(x,myfile)myfile.close()myfile=open(r'd:\listdata.dat','rb')data=pickle.load(myfile)

myfile.close()print('生成的列表如下:')

print(data)第3章(1)-11(2)6(3)15(4)a<n、n%a==0、break(5)n=65forainrange(10):print(''*(20-a),end='')forbinrange(a-1,0,-1):print(chr(n+b),end='')forbinrange(a):print(chr(n+b),end='')print()(6)n=0forainrange(1,50):forbinrange(a+1,50):forcinrange(b+1,50):ifa+b>canda+c>bandb+c>a:ifa*a+b*b==c*c:print('%2s,%2s,%2s\t'%(a,b,c),sep=',',end='')n+=1ifn%6==0:print()第4章(1)輸出結(jié)果為100。因為在func()函數(shù)中沒有為x賦值,所以x是函數(shù)外的全局變量x。(2)輸出結(jié)果為100。因為在func()函數(shù)中為x賦值后,函數(shù)中的x是函數(shù)的局部變量x,不會影響函數(shù)外部的全局變量x。(3)輸出結(jié)果為200。因為在func()函數(shù)中用global語句聲明了x為函數(shù)外部的全局變量,此時在函數(shù)中為x賦值,會影響調(diào)用函數(shù)后的全局變量x的值。(4)輸出結(jié)果為:200100因為在func()函數(shù)中為x賦值后,函數(shù)中的x是函數(shù)的局部變量x,不會影響函數(shù)外部的全局變量x。而在func()函數(shù)內(nèi)定義的func2()函數(shù)中使用的變量x是func()函數(shù)內(nèi)“x=200”語句通過賦值創(chuàng)建的本地變量x。(5)f=lambdaa,b,c:[[b,c][b<c],[a,c][a<c]][a>b]x=int(input('請輸入第1個數(shù):'))y=int(input('請輸入第2個數(shù):'))z=int(input('請輸入第3個數(shù):'))print('其中的最大值為:%s'%f(x,y,z))(6)deffibo(n):ifn<0:returnFalseelifn==0:return0elifn==1:return1else:returnfibo(n-1)+fibo(n-2)print('斐波那契數(shù)列的前10項:')forainrange(10):print(fibo(a),end='')第5章(1)data是類test的屬性,可以通過類名直接使用,例如test.data。showdata()是類的方法,類的方法只能通過實例對象來調(diào)用。例如:x=test() #創(chuàng)建類的實例對象,并建立變量x到實例對象的引用。x.showdata() #調(diào)用類的方法類的屬性是所有類的實例對象共享,所以可通過實例對象來使用類的屬性。例如:print(x.data) #使用類的屬性(2)x.data的值為100,y.data的值為'abc'。x和y引用的都是類test的實例變量,data屬性繼承自類test。一開始x.data和y.data引用的都是類中賦的值'abc',x.data賦值后,引用變?yōu)?00。y.data的引用沒有改變。(3)通常,self作為類中定義的函數(shù)(類的方法)的第1個參數(shù)。在通過實例對象調(diào)用方法時,實例對象作為第一個參數(shù)傳遞給函數(shù)。所以,self引用的是調(diào)用方法的實例對象。self只是業(yè)界的一種使用約定,也可用其他的變量名代替。(4)雙下劃線前綴的屬性和方法可以稱為“偽私有”屬性和方法。Python會自動在帶雙下劃線前綴的變量名前再加上“_類名”,從而可以在類外直接訪問。例如:print(test._test__data)或者:x=test()print(x._test__data)(5)類的構(gòu)造函數(shù)和析構(gòu)函數(shù)名稱由Python預(yù)設(shè)的,__init__為構(gòu)造函數(shù)名,__del__為析構(gòu)函數(shù)名。構(gòu)造函數(shù)在調(diào)用類創(chuàng)建實例對象時自動被調(diào)用,完成對實例對象的初始化。析構(gòu)函數(shù)在實例對象被回收時調(diào)用。在定義類時,可以不定義構(gòu)造函數(shù)和析構(gòu)函數(shù)。(6)Python為類預(yù)設(shè)了各種運算對應(yīng)的方法,如__add__(加法運算)、__sub__(減法運行)等。在類中實現(xiàn)這些方法,即可讓類的實例對象支持對應(yīng)的運算。如果沒有在類中實現(xiàn)運算方法,實例對象參數(shù)對應(yīng)運算時,會發(fā)生異常。(7)在子類中用supper來引用超類。第6章(1)1)EOFError:使用input()函數(shù)讀文件時,遇到文件結(jié)束標(biāo)志EOF時發(fā)生的異常。2)ImportError:導(dǎo)入模塊出錯引發(fā)的異常。3)IndexError:使用序列對象的下標(biāo)超出范圍時引發(fā)的異常。4)StopIteration:迭代器沒有進一步可迭代元素時引發(fā)的異常。5)TypeError:在運算或函數(shù)調(diào)用時,使用了不兼容的類型時引發(fā)的異常。(2)try語句塊中包含可以回產(chǎn)生異常的代碼。在發(fā)生異常時,except部分匹配對應(yīng)的異常,執(zhí)行異常處理代碼。else部分在try語句塊中沒有發(fā)生異常時執(zhí)行。finally部分不管是否發(fā)生異常都會執(zhí)行。(3)IndexErroraserr、finally:(4)在Python程序中,可使用raise或者assert語句觸發(fā)異常。(5)可以捕捉處理程序中所有可能發(fā)生的異常。方法1,用try...except...結(jié)構(gòu),except后不指定異常類型。try: 代碼塊except: 異常處理代碼塊方法2,用try...exceptException...結(jié)構(gòu),用Exception匹配所有異常類型。try: 代碼塊exceptExceptionasex: 異常處理代碼塊第7章(1)訪問SQLite數(shù)據(jù)庫使用Python內(nèi)置的sqlite3模塊,主要用到的對象sqlite3.connect()方法返回的連接對象、連接對象的cursor()方法返回的游標(biāo)對象。連接對象用于建立數(shù)據(jù)庫連接,并可執(zhí)行各種SQL語句。游標(biāo)對象用于執(zhí)行各種SQL語句。(2)訪問MySQL數(shù)據(jù)庫需安裝MySQL官方提供的連接器Connector/Python,主要用到的對象有MySQLConnection連接對象和連接對象的cursor()方法返回的游標(biāo)對象。連接對象用于建立數(shù)據(jù)庫連接,并可執(zhí)行各種SQL語句。游標(biāo)對象用于執(zhí)行各種SQL語句。(3)訪問MSSQLServer需安裝Python的Windows擴展組件pywin32,利用pywin32可生產(chǎn)訪問Windows系統(tǒng)中的ADO組件或其他組件的Python支持文件。Python支持文件包含了訪問ADO組件的各種常量和對象。主要使用的對象有Connection對象和RecordSet對象。Connection對象主要用于建立數(shù)據(jù)庫連接和執(zhí)行各種SQL語句,RecordSet對象主要用于操作SQL的select語句返回的記錄集。第8章參考代碼如下:##showlog()顯示系統(tǒng)日志###################################defshowlog():globalmainframetry:mainframe.destroy()mainframe=LabelFrame(text='系統(tǒng)日志如下:',bd=1,relief=SUNKEN)mainframe.pack(expand=YES,fill=BOTH)sc=Scrollbar(mainframe)sc.pack(side=RIGHT,fill=Y)text1=Text(mainframe)text1.pack(expand=YES,fill=BOTH)text1.config(yscrollcommand=sc.set)sc.config(command=text1.yview)log=open('chapter6_do_log.txt','r')#打開異常日志文件logtxt=log.read()log.close()text1.insert('1.0',logtxt)exceptExceptionasex:showerror(systitle,'數(shù)據(jù)庫訪問出錯:%s'%ex)raiseex##showlog()代碼結(jié)束##showabout()顯示系統(tǒng)版權(quán)等信息###################################defshowabout():msg='用戶注冊信息管理系統(tǒng)1.0\n'+\'歡迎使用用戶注冊信息管理系統(tǒng),系統(tǒng)版權(quán)屬于LovePython。\n'+\'系統(tǒng)發(fā)布時間:2016年7月1日。'showinfo('系統(tǒng)版權(quán)信息',msg

溫馨提示

  • 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

提交評論