




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Python語言程序設計Python語言程序設計Python語言程序設計Python語言程序設計編制僅供參考審核批準生效日期地址:電話:傳真:郵編:《Python語言程序設計》平時作業姓名:賀濤學號:201.Python語言有哪些數據類型數值類型(整型、浮點型、復數型)、布爾型、字符串、列表、元組、字典和集合等2.Python語言有哪些運算符請列表說明它們各自的運算優先級。算術運算符、位運算符、關系運算符、邏輯運算符、賦值運算符、成員運算符、身份運算符等3.Python語言有哪些語句if語句、while語句、for語句4.簡述元組與列表的異同。并簡述它們各自的用途。Python元組和列表一樣,都是有序序列,在很多情況下可以相互替換,很多操作也類似,但它們也有區別:元組是不可變的序列類型,元組能對不需要改變的數據進行寫保護,使數據更安全。列表是可變的序列類型,可以添加、刪除或搜索列表中的元素。元組使用小括號定義用逗號分隔的元素,而列表中的元素應該包括在中括號中。雖然元組使用小括號,但訪問元組元素時,要使用中括號按索引或分片來獲得對應元素的值。元組可以在字典中作為關鍵字使用,而列表不能作為字典關鍵字使用,因為列表不是不可改變的。只要不嘗試修改元組,那么大多數情況下把它們作為列表來進行操作用途:列表可被用于保存多個互相獨立對象的數據集合元組用于描述一個不會改變的事務的多個屬性5.簡述字典和集合的異同。并簡述它們各自的用途。字典和集合的數據元素之間沒有任何確定的順序關系,屬于無序的數據集合體,因此不能像序列那樣通過位置索引來訪問數據元素。作為一種復合數據類型,字典和集合之間的主要區別在于它們的操作,字典主要關心其元素的檢索、插入和刪除,集合主要考慮集合之間的并、交和差操作。6.請分別舉例說明遍歷列表、元組、字典和集合中各元素的方法。列表:列表與for循環語句配合使用,可實現對列表各個元素的遍歷。foriinlist:print("序號:%s值:%s"%(i)+1,i))元組:元組與for循環語句配合使用,可實現對元組各個元素的遍歷。示例同列表。字典:遍歷字典的關鍵字:():返回一個包含字典所有關鍵字的列表,所以對字典關鍵字的遍歷轉換為對列表的遍歷。遍歷字典的值:():返回一個包含字典所有值的列表,所以對字典值的遍歷轉換為對列表的遍歷。遍歷字典的元素:():返回一個包含所有(關鍵字,值)元組的列表,所以對字典元素的遍歷轉換為對列表的遍歷。集合:集合與for循環語句配合使用,可實現對集合各個元素的遍歷。7.在Python中如何實現二維數組、結構體、結構體數組(二維表)、鏈表請舉例說明。二維數組:列表中嵌套列表matrix=[[0,0,0],[0,0,0],[0,0,0],[0,0,0]]結構體:使用字典數據類型實現結構體當列表的元素也是一個列表時,列表就表示二維矩陣或鋸齒陣。8.在Python中如何實現棧和隊列請舉例說明。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中正則表達式、lambda函數、裝飾器、異常處理、斷言處理各自的用途。正則表達式:正則表達式是對字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個“規則字符串”,這個“規則字符串”用來表達對字符串的一種過濾邏輯。lambda函數:是指沒有函數名的簡單函數,只可以包含一個表達式,不允許包含其他復雜的語句,表達式的結果是函數的返回值。用匿名函數有個好處,因為函數沒有名字,所以不必擔心函數名沖突。裝飾器:可簡單地理解為一個函數,這是一個用來包裝函數的函數,經常用于為已經存在的函數添加額外的功能。當多個函數有重復代碼時,可以將此部分代碼單獨拿出來整理成一個裝飾器,然后對每個函數調用該裝飾器,這樣可以實現代碼的復用,而且可以讓原來的函數更輕便。當需要為多個己經寫好的函數添加一個共同功能,例如檢查參數的合法性時,就可以單獨寫一個檢查合法性的裝飾器,然后在每個需要檢查參數合法性的函數處調用即可,而不用去每個函數內部修改。斷言處理:10.請分別舉例說明,在Python中函數的實在參數與形式參數間單向和雙向傳遞數據是如何實現的。函數的位置參數與關鍵字參數有何區別在Python中,實參向形參傳送數據的方式是“值傳遞”,即“拷貝”或“復制”。實參的值傳給形參,是對象間整體賦值,是一種單向傳遞方式,不能由形參傳回給實參。函數體傳入的參數,為函數體外變量引用的副本。在函數體中改變變量指向的堆中的值,對函數外變量有效。在函數體中改變變量的引用,對函數外變量無效。關鍵字參數和位置參數的區別:函數調用時的參數通常采用按位置匹配的方式,即實參按順序傳遞給相應位置的形參。實參的個數應與形參個數必須完全相等。在函數調用中使用關鍵字參數,是指通過形式參數的名稱來指示為哪個形參傳遞什么值,這可以跳過某些參數或脫離參數的順序。11.請簡述Python中類對象與實例對象、類屬性與實例屬性各自的區別并簡述它們各自的用途。類對象與實例對象的區別:在一個類中,類對象只有一個,但實例對象可以有多個。類對象在定義類后便自然存在,而實例對象需要人為創建。類屬性與實例屬性的區別:實例屬性是實例對象所特有的。類對象并不擁有實例屬性,所以不能通過類對象來訪問實例屬性。實例屬性也只能用實例對象來訪問,不能用類對象來訪問實例屬性。類屬性即可用類對象訪問,也可用實例對象訪問。用途:12.請簡述Python中類方法、實例方法、靜態方法各自的區別并簡述它們各自的用途。實例方法只能用實例對象來調用,不能用類對象來調用實例方法。類方法:類方法是類對象所擁有的方法,類方法的第一個參數必須是類對象,可以通過實例對象和類對象去訪問類方法,類方法可以對類屬性進行修改。實例方法:實例方法是類中最常定義的成員方法,它至少有一個參數并且必須以實例對象作為其第一個參數,在類外實例方法只能通過實例對象去調用,不能通過其他方式去調用。靜態方法:靜態方法需要通過修飾器“@staticmethod”來進行修飾,靜態方法不需要多定義參數。靜態方法中不需要額外定義參數,因此如果在靜態方法中引用類屬性,則必須通過類對象來引用。13.請舉例說明Python面向對象的多態性(例如函數重載、運算符重載)是如何實現的父類和多個子類中都有同名的方法,雖然方法同名,但該方法在不同類中的行為是不同的。當向一個對象發送消息(即調用該方法)時,所得結果取決于是哪一個對象接收。多個不同的對象都支持相同的消息,但各對象響應消息的行為不同,這種能力就是多態性的體現,即同一操作在不同的上下文環境中具有不同形態的意思。14.請分別簡述利用thinter模塊、turtle模塊和graphics模塊繪圖時各自的繪圖步驟。thinter模塊:·導入Tkinter模塊創建控件指定這個控件的master,即這個控件屬于哪一個告訴GM(geometrymanager)有一個控件產生了。turtle模塊:引入turtle模塊創建畫布。調用turtle中的Pen函數。移動海龜。提起畫筆graphics模塊:導入graphics模塊包使用GraphWin調用Point()類,設置X坐標和Y坐標調用draw()方法,繪制15.簡述使用tkinter模塊創建一個圖形用戶界面應用程序的主要步驟。導入Tkinter模塊創建一個頂層窗口對象,來容納你的整個GUI程序在你的頂層窗口對象上(或者其中)創建所有的GUI模塊(以及功能)把這些GUI模塊與底層代碼相連接進入主事件循環16.在tkinter模塊中事件綁定方式有哪幾種并簡述它們各自的用途。(event,handler)使用frame的bind方法將一個callback方法綁定到一個事件綁定到widgetinstance使用bind方法綁定到widget的toplevelwindows,頂層窗口,也是用bind綁定到widgetclass,使用bind_class17.請用Python語言編寫一個簡易的系統登錄程序。importimporttkintermy_window=()#生成my_window主窗口('welcomemy_window')#設置窗口標題cv=(my_window,bg='lightcyan')#用畫布設置窗口的顏色()('200x150')#設置窗口大小#label標簽(用戶名和密碼的變量)varName=()#文字變量儲存器器('admin')varPwd=()('123456')#創建賬戶的標簽labname=(my_window,text='用戶名',justify=,bg='pink',width=80)(x=10,y=5,width=80,height=20)#創建文本框,同事設置關聯變量enterName=(my_window,width=80,textvariable=varName)(x=100,y=5,width=80,height=20)#創建密碼的標簽和文本框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)#登錄按鈕事件處理函數deflogin():Name=()Pwd=()ifName=='admin'andPwd=='123456':'Pythontkinter',message='登錄成功!!')else:'pythontkinter',message='登錄失敗')#創建按鈕組件,并且設置按鈕事件的處理函數buttonOK=(my_window,text='login',background='lightskyblue',command=login())(x=30,y=70,width=50,height=20)#取消按鈕的時間處理函數defcancel():#清空用戶輸入的用戶名和密碼('')('')buttonCancel=(my_window,text='Cancel',background='lightgray',command=cancel())(x=100,y=70,width=50,height=20)#啟動消息循環()18.請用Python語言編寫一個簡易的計算器程序。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()("計算器")#顯示欄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語言編寫一個簡易的猜數字游戲程序。importrandomanswer=(1,10)print('猜數游戲')num=input('請輸入你猜測的數字\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('游戲結束')20.請用Python語言編寫一個簡易的通訊錄管理程序。mydic={}whileTrue:print("="*7,"通訊錄管理系統","="*7)print("1.增加姓名和手機")print("2.刪除姓名")print("3.修改手機號")print("4.查詢所有用戶")print("5.根據姓名查找手機號")print("6.退出")print("="*29)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年圖書管理員考試階段性目標設定試題及答案
- 醫學基礎知識評估工具試題及答案
- 文化產業領導力提升試題及答案分享
- 增強抵抗2025年健康管理師考試試題及答案
- 專利戰略規劃試題及答案系統分析
- 護士資格證考試護理技術實訓試題及答案
- 激光加工中的環境管理問題試題及答案
- 醫院管理體系與臨床實踐的關系試題及答案
- 小學數學人教版二年級上冊減法綜合與測試教案
- 政府對專利代理行業的支持政策試題及答案
- T-CACM 1242-2019 中醫外科臨床診療指南 股腫病
- 2024年北京市公安局文職輔警招聘筆試參考題庫附帶答案詳解
- 2023年湛江市麻章區教育局招聘事業編制教師考試真題
- (高清版)DZT 0368-2021 巖礦石標本物性測量技術規程
- 養老院安全知識培訓
- 煤炭行業的信息化與智能化轉型
- 抗生素合理應用課件
- 酒店露營基地項目計劃書
- 小學趣味科學 3D打印技術 課件
- 輕量化目標檢測模型的研究
- 醫療器械人因工程與可用性測試總結
評論
0/150
提交評論