python語(yǔ)言程序設(shè)計(jì)(1)_第1頁(yè)
python語(yǔ)言程序設(shè)計(jì)(1)_第2頁(yè)
python語(yǔ)言程序設(shè)計(jì)(1)_第3頁(yè)
python語(yǔ)言程序設(shè)計(jì)(1)_第4頁(yè)
python語(yǔ)言程序設(shè)計(jì)(1)_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余5頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、Python語(yǔ)言程序設(shè)計(jì)平時(shí)作業(yè)姓名:賀濤學(xué)號(hào):201 . Python語(yǔ)言有哪些數(shù)據(jù)類(lèi)型數(shù)值類(lèi)型(整型、浮點(diǎn)型、復(fù)數(shù)型)、布爾型、字符串、列表、元組、字典 和集合等2 . Python語(yǔ)言有哪些運(yùn)算符請(qǐng)列表說(shuō)明它們各自的運(yùn)算優(yōu)先級(jí)。算術(shù)運(yùn)算符、位運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、賦值運(yùn)算符、成員運(yùn)算符、身 份運(yùn)算符等3 . Python語(yǔ)言有哪些語(yǔ)句if語(yǔ)句、while 語(yǔ)句、for語(yǔ)句4 .簡(jiǎn)述元組與列表的異同。并簡(jiǎn)述它們各自的用途。Python元組和列表一樣,都是有序序列,在很多情況下可以相互替換,很 多操作也類(lèi)似,但它們也有區(qū)別:元組是不可變的序列類(lèi)型,元組能對(duì)不需要改變的數(shù)據(jù)進(jìn)行寫(xiě)保護(hù)

2、, 使數(shù)據(jù)更安全。列表是可變的序列類(lèi)型,可以添加、刪除或搜索列表中的元 素。元組使用小括號(hào)定義用逗號(hào)分隔的元素,而列表中的元素應(yīng)該包括 在中括號(hào)中。雖然元組使用小括號(hào),但訪(fǎng)問(wèn)元組元素時(shí),要使用中括號(hào)按索 引或分片來(lái)獲得對(duì)應(yīng)元素的值。元組可以在字典中作為關(guān)鍵字使用,而列表不能作為字典關(guān)鍵字使 用,因?yàn)榱斜聿皇遣豢筛淖兊?。只要不嘗試修改元組,那么大多數(shù)情況下把它們作為列表來(lái)進(jìn)行操作用途:列表可被用于保存多個(gè)互相獨(dú)立對(duì)象的數(shù)據(jù)集合元組用于描述一個(gè)不會(huì)改變的事務(wù)的多個(gè)屬性5 .簡(jiǎn)述字典和集合的異同。并簡(jiǎn)述它們各自的用途。字典和集合的數(shù)據(jù)元素之間沒(méi)有任何確定的順序關(guān)系,屬于無(wú)序的數(shù)據(jù)集合 體,因此不能像

3、序列那樣通過(guò)位置索引來(lái)訪(fǎng)問(wèn)數(shù)據(jù)元素。作為一種復(fù)合數(shù)據(jù)類(lèi)型,字典和集合之間的主要區(qū)別在于它們的操作,字典主要關(guān)心其元素的檢索、插入和刪除,集合主要考慮集合之間的并、交和差操作。6 .請(qǐng)分別舉例說(shuō)明遍歷列表、元組、字典和集合中各元素的方法。列表:列表與for循環(huán)語(yǔ)句配合使用,可實(shí)現(xiàn)對(duì)列表各個(gè)元素的遍歷。for i in list:print (" 序號(hào):s 值:s" % (i) + 1, i)元組:元組與for循環(huán)語(yǔ)句配合使用,可實(shí)現(xiàn)對(duì)元組各個(gè)元素的遍歷。小例同列表。字典:遍歷字典的關(guān)鍵字:():返回一個(gè)包含字典所有關(guān)鍵字的列表,所以對(duì)字典關(guān)鍵字的遍歷轉(zhuǎn)換為對(duì)列表的遍歷。遍歷字

4、典的值:():返回一個(gè)包含字典所有值的列表,所以對(duì)字典值的遍歷轉(zhuǎn)換為對(duì)列表的遍歷。遍歷字典的元素:():返回一個(gè)包含所有(關(guān)鍵字,值)元組的列 表,所以對(duì)字典元素的遍歷轉(zhuǎn)換為對(duì)列表的遍歷。集合:集合與for循環(huán)語(yǔ)句配合使用,可實(shí)現(xiàn)對(duì)集合各個(gè)元素的遍 歷。7 .在Python中如何實(shí)現(xiàn)二維數(shù)組、結(jié)構(gòu)體、結(jié)構(gòu)體數(shù)組(二維表)、鏈表 請(qǐng)舉例說(shuō)明。二維數(shù)組:列表中嵌套列表matrix=0,0,0,0,0,0,0,0,0,0,0,0結(jié)構(gòu)體:使用字典數(shù)據(jù)類(lèi)型實(shí)現(xiàn)結(jié)構(gòu)體當(dāng)列表的元素也是一個(gè)列表時(shí),列表就表示二維矩陣或鋸齒陣。8 .在Python中如何實(shí)現(xiàn)棧和隊(duì)列請(qǐng)舉例說(shuō)明。class Stack(objec

5、t): def _init_(self): =def isEmpty(self): return =def push(self,item):pop(self):if ():raise IndexError,'pop from empty stack'return peek(self):return -1def size(self):return lenclass Queue:def _init_(self, head=None):= headdef enqueue(self, new_element):peek(self):return 0def dequeue(self):r

6、eturn 請(qǐng)分別說(shuō)明 Python 中正則表達(dá)式、 lambda 函數(shù)、裝飾器、異常處理、斷言處理各自的用途。正則表達(dá)式:正則表達(dá)式是對(duì)字符串操作的一種邏輯公式, 就是用事先定義好的一些特定字符、 及這些特定字符的組合, 組成一個(gè)“規(guī)則字符串”, 這個(gè)“規(guī)則字符串”用來(lái)表達(dá)對(duì)字符串的一種過(guò)濾邏輯。lambda 函數(shù): 是指沒(méi)有函數(shù)名的簡(jiǎn)單函數(shù),只可以包含一個(gè)表達(dá)式,不允許包含其他復(fù)雜的語(yǔ)句,表達(dá)式的結(jié)果是函數(shù)的返回值。用匿名函數(shù)有個(gè)好處,因?yàn)楹瘮?shù)沒(méi)有名字,所以不必?fù)?dān)心函數(shù)名沖突。裝飾器: 可簡(jiǎn)單地理解為一個(gè)函數(shù),這是一個(gè)用來(lái)包裝函數(shù)的函數(shù),經(jīng)常用于為已經(jīng)存在的函數(shù)添加額外的功能。當(dāng)多個(gè)函數(shù)有

7、重復(fù)代碼時(shí),可以將此部分代碼單獨(dú)拿出來(lái)整理成一個(gè)裝飾器,然后對(duì)每個(gè)函數(shù)調(diào)用該裝飾器,這樣可以實(shí)現(xiàn)代碼的復(fù)用,而且可以讓原來(lái)的函數(shù)更輕便。 當(dāng)需要為多個(gè)己經(jīng)寫(xiě)好的函數(shù)添加一個(gè)共同功能,例如檢查參數(shù)的合法性時(shí), 就可以單獨(dú)寫(xiě)一個(gè)檢查合法性的裝飾器,然后在每個(gè)需要檢查參數(shù)合法性的函數(shù)處調(diào)用即可,而不用去每個(gè)函數(shù)內(nèi)部修改。斷言處理:10. 請(qǐng)分別舉例說(shuō)明,在Python 中函數(shù)的實(shí)在參數(shù)與形式參數(shù)間單向和雙向傳遞數(shù)據(jù)是如何實(shí)現(xiàn)的。函數(shù)的位置參數(shù)與關(guān)鍵字參數(shù)有何區(qū)別在 Python 中,實(shí)參向形參傳送數(shù)據(jù)的方式是“值傳遞” ,即“拷貝”或“復(fù) 制” 。 實(shí)參的值傳給形參,是對(duì)象間整體賦值,是一種單向傳遞

8、方式,不能由形參傳回給實(shí)參。函數(shù)體傳入的參數(shù), 為函數(shù)體外變量引用的副本。 在函數(shù)體中改變變量指向的堆中的值, 對(duì)函數(shù)外變量有效。 在函數(shù)體中改變變量的引用, 對(duì)函數(shù)外變量無(wú)效。關(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ù), 是指通過(guò)形式參數(shù)的 名稱(chēng) 來(lái)指示為哪個(gè)形參傳遞什么值,這可以跳過(guò)某些參數(shù)或脫離參數(shù)的順序。11. 請(qǐng)簡(jiǎn)述 Python 中類(lèi)對(duì)象與實(shí)例對(duì)象、類(lèi)屬性與實(shí)例屬性各自的區(qū)別并簡(jiǎn)述它們各自的用途。類(lèi)對(duì)象與實(shí)例對(duì)象的區(qū)別: 在一個(gè)類(lèi)中, 類(lèi)對(duì)象只有一個(gè), 但

9、實(shí)例對(duì)象可以有多個(gè)。類(lèi)對(duì)象在定義類(lèi)后便自然存在,而實(shí)例對(duì)象需要人為創(chuàng)建。類(lèi)屬性與實(shí)例屬性的區(qū)別: 實(shí)例屬性是實(shí)例對(duì)象所特有的。 類(lèi)對(duì)象并不擁有實(shí)例屬性, 所以不能通過(guò)類(lèi)對(duì)象來(lái)訪(fǎng)問(wèn)實(shí)例屬性。 實(shí)例屬性也只能用實(shí)例對(duì)象來(lái)訪(fǎng)問(wèn), 不能用類(lèi)對(duì)象來(lái)訪(fǎng)問(wèn)實(shí)例屬性。 類(lèi)屬性即可用類(lèi)對(duì)象訪(fǎng)問(wèn), 也可用實(shí)例對(duì) 象訪(fǎng)問(wèn)。用途:12. 請(qǐng)簡(jiǎn)述 Python 中類(lèi)方法、實(shí)例方法、靜態(tài)方法各自的區(qū)別并簡(jiǎn)述它們各自的用途。實(shí)例方法只能用實(shí)例對(duì)象來(lái)調(diào)用,不能用類(lèi)對(duì)象來(lái)調(diào)用實(shí)例方法。類(lèi)方法: 類(lèi)方法是類(lèi)對(duì)象所擁有的方法,類(lèi)方法的第一個(gè)參數(shù)必須是類(lèi)對(duì)象,可以通過(guò)實(shí)例對(duì)象和類(lèi)對(duì)象去訪(fǎng)問(wèn)類(lèi)方法,類(lèi)方法可以對(duì)類(lèi)屬性進(jìn)行修改。實(shí)例方法

10、: 實(shí)例方法是類(lèi)中最常定義的成員方法,它至少有一個(gè)參數(shù)并且必須以實(shí)例對(duì)象作為其第一個(gè)參數(shù), 在類(lèi)外實(shí)例方法只能通過(guò)實(shí)例對(duì)象去調(diào)用,不能通過(guò)其他方式去調(diào)用。靜態(tài)方法:靜態(tài)方法需要通過(guò)修飾器“ staticmethod ”來(lái)進(jìn)行修飾,靜態(tài)方法不需要多定義參數(shù)。 靜態(tài)方法中不需要額外定義參數(shù),因此如果在靜態(tài)方法中引用類(lèi)屬性,則必須通過(guò)類(lèi)對(duì)象來(lái)引用。13. 請(qǐng)舉例說(shuō)明Python面向?qū)ο蟮亩鄳B(tài)性(例如函數(shù)重載、運(yùn)算符重載) 是如何實(shí)現(xiàn)的父類(lèi)和多個(gè)子類(lèi)中都有同名的方法,雖然方法同名,但該方法在不同類(lèi)中的行為是不同的。當(dāng)向一個(gè)對(duì)象發(fā)送消息(即調(diào)用該方法)時(shí),所得結(jié)果取決于是 哪一個(gè)對(duì)象接收。多個(gè)不同的對(duì)象

11、都支持相同的消息,但各對(duì)象響應(yīng)消息的行為 不同,這種能力就是多態(tài)性的體現(xiàn),即同一操作在不同的上下文環(huán)境中具有不同 形態(tài)的意思。14. 請(qǐng)分別簡(jiǎn)述利用thinter 模塊、turtle 模塊和graphics模塊繪圖時(shí)各 自的繪圖步驟。thinter 模塊:1. 導(dǎo)入Tkinter 模塊2. 創(chuàng)建控件3. 指定這個(gè)控件的master ,即這個(gè)控件屬于哪一個(gè)4. 告訴GM(geometry manager)有一個(gè)控件產(chǎn)生了。turtle 模塊:1. 引入turtle 模塊2. 創(chuàng)建畫(huà)布。調(diào)用turtle 中的Pen函數(shù)。3. 移動(dòng)海龜。4. 提起畫(huà)筆graphics 模塊:1. 導(dǎo)入graphic

12、s模塊包2. 使用 GraphWin3. 調(diào)用Point()類(lèi),設(shè)置X坐標(biāo)和Y坐標(biāo)4. 調(diào)用draw()方法,繪制15 .簡(jiǎn)述使用tkinter模塊創(chuàng)建一個(gè)圖形用戶(hù)界面應(yīng)用程序的主要步驟。1. 導(dǎo)入Tkinter模塊2. 創(chuàng)建一個(gè)頂層窗口對(duì)象,來(lái)容納你的整個(gè)GUI程序3. 在你的頂層窗口對(duì)象上(或者其中)創(chuàng)建所有的GUI模塊(以及功能)4. 把這些GUI模塊與底層代碼相連接5. 進(jìn)入主事件循環(huán)16 .在tkinter模塊中事件綁定方式有哪幾種并簡(jiǎn)述它們各自的用途。(event ,handler)使用frame的bind方法將一個(gè)callback 方法綁定到一個(gè)事件綁定至U widget ins

13、tance 使用 bind 方法綁定到widget的toplevel windows ,頂層窗口,也是用 bind綁定至U widget class ,使用 bind_class17 .請(qǐng)用Python語(yǔ)言編寫(xiě)一個(gè)簡(jiǎn)易的系統(tǒng)登錄程序。importimport tkintermy_window = () # 生成 my_window主窗口('welcome my_window') # 設(shè)置窗 口標(biāo)題cv = (my_window,bg='lightcyan') # 用畫(huà)布設(shè)置窗 口 的顏色 ()('200x150') # 設(shè)置窗口大小# label

14、 標(biāo)簽(用戶(hù)名和密碼的變量)varName = () #文字變量?jī)?chǔ)存器器('admin')varPwd =()('123456')# 創(chuàng)建賬戶(hù)的標(biāo)簽labname = (my_window,text=' 用戶(hù)名',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)建

15、密碼的標(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ù)def login():Name = ()Pwd = ()if Name ='admin' and Pwd = '12345

16、6':'Python tkinter',message='登錄成功! ! ')else:'python tkinter',message='登錄失敗 ')# 創(chuàng)建按鈕組件,并且設(shè)置按鈕事件的處理函數(shù)buttonOK = (my_window,text = 'login',background='lightskyblue',command = login()(x=30 , y=70 , width=50,height=20)# 取消按鈕的時(shí)間處理函數(shù)def cancel():# 清空用戶(hù)輸入的

17、用戶(hù)名和密碼('')('')buttonCancel =(my_window,text='Cancel',background='lightgray',command=cancel()(x=100,y=70,width=50,height=20)# 啟動(dòng)消息循環(huán)()18.請(qǐng)用Python語(yǔ)言編寫(xiě)一個(gè)簡(jiǎn)易的計(jì)算器程序from tkinter import * reset=Truedef buttonCallBack(event):global label global reset num='text' if num=

18、'C':label'text'="0" returnif num in "=":label'text'=str(eval(label'text') reset=True returns=label'text'if s='0' or reset=True:reset=False label'text'=s+num# 主窗口root=Tk() _|("計(jì)算器")# 顯本欄1label=Label(root,text="

19、0",background="white",anchor="e")label'width'=35label'height'=2(row=1,columnspan=4,sticky=W)# 按鈕showText="789/456*+"for i in range(4):for j in range(4):b=Button(root,text=showTexti*4+j,width=7) (row=i+2,column=j)("<button-1>",buttonC

20、allBack)showText="()"for i in range(2):b=Button(root,text=showTexti,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-

21、1></button-1>19 .請(qǐng)用Python語(yǔ)言編寫(xiě)一個(gè)簡(jiǎn)易的猜數(shù)字游戲程序。import randomanswer = (1,10)print('猜數(shù)游戲')num=input('請(qǐng)輸入你猜測(cè)的數(shù)字n')guess=int(num)n=0while n<2:if guess = answer and n=0:print('么么噠。對(duì)啦')print('厲害了一次就對(duì)了 ')breakif guess < answer:print(' 不對(duì)哦,太小了 )elif guess > a

22、nswer :print('不對(duì)哦,太大了 )elif guess=answer :print('么么噠。對(duì)啦')num=input('請(qǐng)你重新輸入n')guess=int(num)n=n+1if n=1 and guess=answer:print(' 可以哦,第二次就對(duì)了 ')breakelif n=2 and guess =answer:print(' 還行,終于猜出來(lái)了 )breakelif n=2 and guess !=answer :print(' 不行哦,三次都不對(duì)')breakprint('

23、; 游戲結(jié)束 ')20 . 請(qǐng)用 Python 語(yǔ)言編寫(xiě)一個(gè)簡(jiǎn)易的通訊錄管理程序。mydic=while True:print("="*7," 通訊錄管理系統(tǒng)","="*7)print("1. 增加姓名和手機(jī)")print("2. 刪除姓名 ")print("3. 修改手機(jī)號(hào)")print("4. 查詢(xún)所有用戶(hù) ")print("5.根據(jù)姓名查找手機(jī)號(hào)")print("6.退出")print("="*

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論