Python語言程序設(shè)計(jì)_第1頁
Python語言程序設(shè)計(jì)_第2頁
Python語言程序設(shè)計(jì)_第3頁
Python語言程序設(shè)計(jì)_第4頁
Python語言程序設(shè)計(jì)_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

Python語言程序設(shè)計(jì)Python語言程序設(shè)計(jì)Python語言程序設(shè)計(jì)Python語言程序設(shè)計(jì)編制僅供參考審核批準(zhǔn)生效日期地址:電話:傳真:郵編:《Python語言程序設(shè)計(jì)》平時(shí)作業(yè)姓名:賀濤學(xué)號(hào):201.Python語言有哪些數(shù)據(jù)類型數(shù)值類型(整型、浮點(diǎn)型、復(fù)數(shù)型)、布爾型、字符串、列表、元組、字典和集合等2.Python語言有哪些運(yùn)算符請列表說明它們各自的運(yùn)算優(yōu)先級(jí)。算術(shù)運(yùn)算符、位運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、賦值運(yùn)算符、成員運(yùn)算符、身份運(yùn)算符等3.Python語言有哪些語句if語句、while語句、for語句4.簡述元組與列表的異同。并簡述它們各自的用途。Python元組和列表一樣,都是有序序列,在很多情況下可以相互替換,很多操作也類似,但它們也有區(qū)別:元組是不可變的序列類型,元組能對不需要改變的數(shù)據(jù)進(jìn)行寫保護(hù),使數(shù)據(jù)更安全。列表是可變的序列類型,可以添加、刪除或搜索列表中的元素。元組使用小括號(hào)定義用逗號(hào)分隔的元素,而列表中的元素應(yīng)該包括在中括號(hào)中。雖然元組使用小括號(hào),但訪問元組元素時(shí),要使用中括號(hào)按索引或分片來獲得對應(yīng)元素的值。元組可以在字典中作為關(guān)鍵字使用,而列表不能作為字典關(guān)鍵字使用,因?yàn)榱斜聿皇遣豢筛淖兊?。只要不嘗試修改元組,那么大多數(shù)情況下把它們作為列表來進(jìn)行操作用途:列表可被用于保存多個(gè)互相獨(dú)立對象的數(shù)據(jù)集合元組用于描述一個(gè)不會(huì)改變的事務(wù)的多個(gè)屬性5.簡述字典和集合的異同。并簡述它們各自的用途。字典和集合的數(shù)據(jù)元素之間沒有任何確定的順序關(guān)系,屬于無序的數(shù)據(jù)集合體,因此不能像序列那樣通過位置索引來訪問數(shù)據(jù)元素。作為一種復(fù)合數(shù)據(jù)類型,字典和集合之間的主要區(qū)別在于它們的操作,字典主要關(guān)心其元素的檢索、插入和刪除,集合主要考慮集合之間的并、交和差操作。6.請分別舉例說明遍歷列表、元組、字典和集合中各元素的方法。列表:列表與for循環(huán)語句配合使用,可實(shí)現(xiàn)對列表各個(gè)元素的遍歷。foriinlist:print("序號(hào):%s值:%s"%(i)+1,i))元組:元組與for循環(huán)語句配合使用,可實(shí)現(xiàn)對元組各個(gè)元素的遍歷。示例同列表。字典:遍歷字典的關(guān)鍵字:():返回一個(gè)包含字典所有關(guān)鍵字的列表,所以對字典關(guān)鍵字的遍歷轉(zhuǎn)換為對列表的遍歷。遍歷字典的值:():返回一個(gè)包含字典所有值的列表,所以對字典值的遍歷轉(zhuǎn)換為對列表的遍歷。遍歷字典的元素:():返回一個(gè)包含所有(關(guān)鍵字,值)元組的列表,所以對字典元素的遍歷轉(zhuǎn)換為對列表的遍歷。集合:集合與for循環(huán)語句配合使用,可實(shí)現(xiàn)對集合各個(gè)元素的遍歷。7.在Python中如何實(shí)現(xiàn)二維數(shù)組、結(jié)構(gòu)體、結(jié)構(gòu)體數(shù)組(二維表)、鏈表請舉例說明。二維數(shù)組:列表中嵌套列表matrix=[[0,0,0],[0,0,0],[0,0,0],[0,0,0]]結(jié)構(gòu)體:使用字典數(shù)據(jù)類型實(shí)現(xiàn)結(jié)構(gòu)體當(dāng)列表的元素也是一個(gè)列表時(shí),列表就表示二維矩陣或鋸齒陣。8.在Python中如何實(shí)現(xiàn)棧和隊(duì)列請舉例說明。classStack(object):def__init__(self):=[]defisEmpty(self):return==[]defpush(self,item):pop(self):if():raiseIndexError,'popfromemptystack'returnpeek(self):return[-1]defsize(self):returnlenclassQueue:def__init__(self,head=None):=[head]defenqueue(self,new_element):peek(self):return[0]defdequeue(self):return請分別說明Python中正則表達(dá)式、lambda函數(shù)、裝飾器、異常處理、斷言處理各自的用途。正則表達(dá)式:正則表達(dá)式是對字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個(gè)“規(guī)則字符串”,這個(gè)“規(guī)則字符串”用來表達(dá)對字符串的一種過濾邏輯。lambda函數(shù):是指沒有函數(shù)名的簡單函數(shù),只可以包含一個(gè)表達(dá)式,不允許包含其他復(fù)雜的語句,表達(dá)式的結(jié)果是函數(shù)的返回值。用匿名函數(shù)有個(gè)好處,因?yàn)楹瘮?shù)沒有名字,所以不必?fù)?dān)心函數(shù)名沖突。裝飾器:可簡單地理解為一個(gè)函數(shù),這是一個(gè)用來包裝函數(shù)的函數(shù),經(jīng)常用于為已經(jīng)存在的函數(shù)添加額外的功能。當(dāng)多個(gè)函數(shù)有重復(fù)代碼時(shí),可以將此部分代碼單獨(dú)拿出來整理成一個(gè)裝飾器,然后對每個(gè)函數(shù)調(diào)用該裝飾器,這樣可以實(shí)現(xiàn)代碼的復(fù)用,而且可以讓原來的函數(shù)更輕便。當(dāng)需要為多個(gè)己經(jīng)寫好的函數(shù)添加一個(gè)共同功能,例如檢查參數(shù)的合法性時(shí),就可以單獨(dú)寫一個(gè)檢查合法性的裝飾器,然后在每個(gè)需要檢查參數(shù)合法性的函數(shù)處調(diào)用即可,而不用去每個(gè)函數(shù)內(nèi)部修改。斷言處理:10.請分別舉例說明,在Python中函數(shù)的實(shí)在參數(shù)與形式參數(shù)間單向和雙向傳遞數(shù)據(jù)是如何實(shí)現(xiàn)的。函數(shù)的位置參數(shù)與關(guān)鍵字參數(shù)有何區(qū)別在Python中,實(shí)參向形參傳送數(shù)據(jù)的方式是“值傳遞”,即“拷貝”或“復(fù)制”。實(shí)參的值傳給形參,是對象間整體賦值,是一種單向傳遞方式,不能由形參傳回給實(shí)參。函數(shù)體傳入的參數(shù),為函數(shù)體外變量引用的副本。在函數(shù)體中改變變量指向的堆中的值,對函數(shù)外變量有效。在函數(shù)體中改變變量的引用,對函數(shù)外變量無效。關(guān)鍵字參數(shù)和位置參數(shù)的區(qū)別:函數(shù)調(diào)用時(shí)的參數(shù)通常采用按位置匹配的方式,即實(shí)參按順序傳遞給相應(yīng)位置的形參。實(shí)參的個(gè)數(shù)應(yīng)與形參個(gè)數(shù)必須完全相等。在函數(shù)調(diào)用中使用關(guān)鍵字參數(shù),是指通過形式參數(shù)的名稱來指示為哪個(gè)形參傳遞什么值,這可以跳過某些參數(shù)或脫離參數(shù)的順序。11.請簡述Python中類對象與實(shí)例對象、類屬性與實(shí)例屬性各自的區(qū)別并簡述它們各自的用途。類對象與實(shí)例對象的區(qū)別:在一個(gè)類中,類對象只有一個(gè),但實(shí)例對象可以有多個(gè)。類對象在定義類后便自然存在,而實(shí)例對象需要人為創(chuàng)建。類屬性與實(shí)例屬性的區(qū)別:實(shí)例屬性是實(shí)例對象所特有的。類對象并不擁有實(shí)例屬性,所以不能通過類對象來訪問實(shí)例屬性。實(shí)例屬性也只能用實(shí)例對象來訪問,不能用類對象來訪問實(shí)例屬性。類屬性即可用類對象訪問,也可用實(shí)例對象訪問。用途:12.請簡述Python中類方法、實(shí)例方法、靜態(tài)方法各自的區(qū)別并簡述它們各自的用途。實(shí)例方法只能用實(shí)例對象來調(diào)用,不能用類對象來調(diào)用實(shí)例方法。類方法:類方法是類對象所擁有的方法,類方法的第一個(gè)參數(shù)必須是類對象,可以通過實(shí)例對象和類對象去訪問類方法,類方法可以對類屬性進(jìn)行修改。實(shí)例方法:實(shí)例方法是類中最常定義的成員方法,它至少有一個(gè)參數(shù)并且必須以實(shí)例對象作為其第一個(gè)參數(shù),在類外實(shí)例方法只能通過實(shí)例對象去調(diào)用,不能通過其他方式去調(diào)用。靜態(tài)方法:靜態(tài)方法需要通過修飾器“@staticmethod”來進(jìn)行修飾,靜態(tài)方法不需要多定義參數(shù)。靜態(tài)方法中不需要額外定義參數(shù),因此如果在靜態(tài)方法中引用類屬性,則必須通過類對象來引用。13.請舉例說明Python面向?qū)ο蟮亩鄳B(tài)性(例如函數(shù)重載、運(yùn)算符重載)是如何實(shí)現(xiàn)的父類和多個(gè)子類中都有同名的方法,雖然方法同名,但該方法在不同類中的行為是不同的。當(dāng)向一個(gè)對象發(fā)送消息(即調(diào)用該方法)時(shí),所得結(jié)果取決于是哪一個(gè)對象接收。多個(gè)不同的對象都支持相同的消息,但各對象響應(yīng)消息的行為不同,這種能力就是多態(tài)性的體現(xiàn),即同一操作在不同的上下文環(huán)境中具有不同形態(tài)的意思。14.請分別簡述利用thinter模塊、turtle模塊和graphics模塊繪圖時(shí)各自的繪圖步驟。thinter模塊:·導(dǎo)入Tkinter模塊創(chuàng)建控件指定這個(gè)控件的master,即這個(gè)控件屬于哪一個(gè)告訴GM(geometrymanager)有一個(gè)控件產(chǎn)生了。turtle模塊:引入turtle模塊創(chuàng)建畫布。調(diào)用turtle中的Pen函數(shù)。移動(dòng)海龜。提起畫筆graphics模塊:導(dǎo)入graphics模塊包使用GraphWin調(diào)用Point()類,設(shè)置X坐標(biāo)和Y坐標(biāo)調(diào)用draw()方法,繪制15.簡述使用tkinter模塊創(chuàng)建一個(gè)圖形用戶界面應(yīng)用程序的主要步驟。導(dǎo)入Tkinter模塊創(chuàng)建一個(gè)頂層窗口對象,來容納你的整個(gè)GUI程序在你的頂層窗口對象上(或者其中)創(chuàng)建所有的GUI模塊(以及功能)把這些GUI模塊與底層代碼相連接進(jìn)入主事件循環(huán)16.在tkinter模塊中事件綁定方式有哪幾種并簡述它們各自的用途。(event,handler)使用frame的bind方法將一個(gè)callback方法綁定到一個(gè)事件綁定到widgetinstance使用bind方法綁定到widget的toplevelwindows,頂層窗口,也是用bind綁定到widgetclass,使用bind_class17.請用Python語言編寫一個(gè)簡易的系統(tǒng)登錄程序。importimporttkintermy_window=()#生成my_window主窗口('welcomemy_window')#設(shè)置窗口標(biāo)題cv=(my_window,bg='lightcyan')#用畫布設(shè)置窗口的顏色()('200x150')#設(shè)置窗口大小#label標(biāo)簽(用戶名和密碼的變量)varName=()#文字變量儲(chǔ)存器器('admin')varPwd=()('123456')#創(chuàng)建賬戶的標(biāo)簽labname=(my_window,text='用戶名',justify=,bg='pink',width=80)(x=10,y=5,width=80,height=20)#創(chuàng)建文本框,同事設(shè)置關(guān)聯(lián)變量enterName=(my_window,width=80,textvariable=varName)(x=100,y=5,width=80,height=20)#創(chuàng)建密碼的標(biāo)簽和文本框labPwd=(my_window,text='密碼',justify=,bg='pink',width=80)(x=10,y=30,width=80,height=20)enterPwd=(my_window,show='*',width=80,textvariable=varPwd)(x=100,y=30,width=80,height=20)#登錄按鈕事件處理函數(shù)deflogin():Name=()Pwd=()ifName=='admin'andPwd=='123456':'Pythontkinter',message='登錄成功!!')else:'pythontkinter',message='登錄失敗')#創(chuàng)建按鈕組件,并且設(shè)置按鈕事件的處理函數(shù)buttonOK=(my_window,text='login',background='lightskyblue',command=login())(x=30,y=70,width=50,height=20)#取消按鈕的時(shí)間處理函數(shù)defcancel():#清空用戶輸入的用戶名和密碼('')('')buttonCancel=(my_window,text='Cancel',background='lightgray',command=cancel())(x=100,y=70,width=50,height=20)#啟動(dòng)消息循環(huán)()18.請用Python語言編寫一個(gè)簡易的計(jì)算器程序。fromtkinterimport*reset=TruedefbuttonCallBack(event):

globallabel

globalreset

num=['text']

ifnum=='C':

label['text']="0"

return

ifnumin"=":

label['text']=str(eval(label['text']))

reset=True

return

s=label['text']

ifs=='0'orreset==True:

s=""

reset=False

label['text']=s+num#主窗口root=Tk()("計(jì)算器")#顯示欄1label=Label(root,text="0",background="white",anchor="e")label['width']=35label['height']=2(row=1,columnspan=4,sticky=W)#按鈕showText="789/456*+"foriinrange(4):

forjinrange(4):

b=Button(root,text=showText[i*4+j],width=7)

(row=i+2,column=j)

("<button-1>",buttonCallBack)showText="()"foriinrange(2):

b=Button(root,text=showText[i],width=7)

(row=6,column=2+i)

("<button-1>",buttonCallBack)b=Button(root,text="=")(row=6,columnspan=2,sticky="we")("<button-1>",buttonCallBack)()</button-1></button-1></button-1>19.請用Python語言編寫一個(gè)簡易的猜數(shù)字游戲程序。importrandomanswer=(1,10)print('猜數(shù)游戲')num=input('請輸入你猜測的數(shù)字\n')guess=int(num)n=0whilen<2:ifguess==answerandn==0:print('么么噠。對啦')print('厲害了一次就對了')breakifguess<answer:print('不對哦,太小了')elifguess>answer:print('不對哦,太大了')elifguess==answer:print('么么噠。對啦')num=input('請你重新輸入\n')guess=int(num)n=n+1ifn==1andguess==answer:print('可以哦,第二次就對了')breakelifn==2andguess==answer:print('還行,終于猜出來了')breakelifn==2andguess!=answer:print('不行哦,三次都不對')breakprint('游戲結(jié)束')20.請用Python語言編寫一個(gè)簡易的通訊錄管理程序。mydic={}whileTrue:print("="*7,"通訊錄管理系統(tǒng)","="*7)print("1.增加姓名和手機(jī)")print("2.刪除姓名")print("3.修改手機(jī)號(hào)")print("4.查詢所有用戶")print("5.根據(jù)姓名查找手機(jī)號(hào)")print("6.退出")print("="*29)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論