版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
【第1章初識Python課后習題】1.判斷題(請在題目右側的括號內記錄“√”或“×”)。(1)計算機科學是對計算機的研究。()(2)CPU是計算機的“大腦”。()(3)輔助存儲器稱為RAM。()(4)計算機當前正在處理的所有信息都存儲在主存儲器中。()(5)語言的語法是它的意思,語義是它的形式。()(6)函數(shù)定義是定義新命令的語句序列。()(7)編程環(huán)境是指程序員工作的地方。()(8)變量用于給一個值賦予一個名稱,這樣它就可以在其他地方被引用。()2.選擇題(請在題目右側的括號內填寫你的選擇)。(1)計算機科學的根本問題是()。A.計算機的計算速度有多快 B.可以計算什么C.什么是最有效的編程語言 D.程序員可以賺多少錢(2)算法類似于()。A.報紙 B.捕蠅草 C.鼓 D.菜譜(3)一個問題是難解的,如果()。A.你不能反轉其解決方案 B.涉及拖拉機C.它有很多解決方案 D.解決它不實際(4)以下()項不是輔助存儲器。A.RAM B.硬盤驅動器 C.USB閃存 D.DVD(5)設計來讓人類使用和理解的計算機語言是()。A.自然語言 B.高級語言 C.機器語言 D.提取-執(zhí)行語言(6)語句是()。A.機器語言的翻譯 B.完整的計算機命令C.問題的精確描述 D.算法的一部分(7)編譯器和解釋器之間的一個區(qū)別是()。A.編譯器是一個程序 B.使用編譯器將高級語言翻譯成機器語言C.在程序翻譯之后不再需要編譯器 D.編譯器處理源代碼(8)按照慣例,程序的語句通常放在一個函數(shù)中,該函數(shù)名為()。A.import B.main C.program D.IDLE(9)關于注釋,以下不正確的是()。A.它們讓程序更有效率 B.它們用于人類讀者C.它們被Python忽略 D.在Python中,它們以#號開頭(10)在函數(shù)定義的括號中列出的項被稱為()。A.括號 B.參數(shù) C.變元 D.數(shù)據3.討論。試比較并對比以下概念對:A.硬件與軟件 B.算法與程序C.編程語言與自然語言 D.高級語言與機器語言E.解釋器與編譯器 F.語法與語義【第1章初識Python課后習題答案】1.判斷題。(1)× (2)√ (3)× (4)√ (5)× (6)√(7)√ (8)√2.選擇題。(1)B (2)D (3)A (4)A (5)B (6)B(7)C (8)B (9)B (10)B
【第2章Python語法基礎課后習題】1.判斷題(請在題目右側的括號內記錄“√”或“×”)。(1)編寫程序的最好方法是立即鍵入一些代碼,然后調試它,直到它工作。()(2)可以在不使用編程語言的情況下編寫算法。()(3)程序在寫入和調試后不再需要修改。()(4)Python標識符必須以字母或下劃線開頭。()(5)關鍵詞是好的變量名。()(6)表達式由文字、變量和運算符構成。()(7)在Python中,x=y+1是一個合法的語句。()(8)Python列表的大小不能增長和縮小。()(9)與字符串不同,Python列表不可變。()(10)列表必須至少包含一個數(shù)據項。()2.選擇題(請在題目右側的括號內填寫你的選擇)。(1)以下()項不是軟件開發(fā)過程中的一個步驟。A.規(guī)格說明 B.測試/調試 C.決定費用 D.維護(2)將攝氏度轉換為華氏度的正確公式是()。A.F=9/5(C)+32 B.F=5/9(C)-32C.F=B2–4AC D.F=(212-32)/(100-0)(3)準確描述計算機程序將做什么來解決問題的過程稱為()。A.設計 B.實現(xiàn) C.編程 D.規(guī)格說明(4)以下()項不是合法的標識符。A.spam B.spAm C.2spam D.spam4U(5)下列()不在表達式中使用。A.變量 B.語句 C.操作符 D.字面量(6)生成或計算新數(shù)據值的代碼片段被稱為()。A.標識符 B.表達式 C.生成子句 D.賦值語句(7)以下()項不是IPO模式的一部分。A.輸入 B.程序 C.處理 D.輸出3.討論:(1)列出并用你自己的語言描述軟件開發(fā)過程中的六個步驟。(2)先寫出一個算法的偽代碼而不是立即投入Python代碼,為什么是一個好主意?
【第2章Python語法基礎課后習題參考答案】1.判斷題。(1)× (2)√ (3)× (4)√ (5)× (6)√(7)√ (8)× (9)× (10)×2.選擇題。(1)C (2)A (3)D (4)C (5)B (6)D(7)B
【第3章賦值語句與分支結構課后習題】1.判斷題(請在題目右側的括號內記錄“√”或“×”)。(1)Python不允許使用單個語句輸入多個值。()(2)一個簡單的判斷可以用一個if語句來實現(xiàn)。()(3)在Python條件中,等于“=”被寫成“/=”。()(4)用if-elif語句實現(xiàn)兩路判斷。()(5)elif可以單獨使用。()(6)單個try語句可以捕獲多種錯誤。()(7)多路判斷必須通過嵌套多個if-else語句來處理。()(8)對于涉及判斷結構的問題,通常只有一個正確的解決方案。()(9)輸入驗證意味著在需要輸入時提示用戶。()2.選擇題(請在題目右側的括號內填寫你的選擇)。(1)在Python中,獲取用戶輸入通過一個特殊的表達式來實現(xiàn),稱為()。A.for B.read C.同時賦值 D.input(2)控制其他語句執(zhí)行的語句稱為()。A.老板結構 B.超結構 C.控制結構 D.分支(3)在Python中實現(xiàn)多路判斷的最佳結構是()。A.if -elif-else B.if-else C.if D.try(4)求值為true或false的表達式稱為()。A.操作表達式 B.布爾表達式C.簡單表達式 D.復合表達式(5)當程序直接運行(未導入)時,__name__的值為()。A.__main__ B.main C.script D.True(6)bool類型的字面量是()。A.T,F B.True,False C.true,false D.1,0(7)在另一個判斷內部做出判斷是()。A.克隆 B.勺子 C.嵌套 D.拖延(8)一個判斷導致另一組判斷,這些判斷又導致另一組判斷,依此下去,這樣的結構稱為判斷()。A.網絡 B.網 C.樹 D.陷阱
【第3章賦值語句與分支結構課后習題答案】1.判斷題。(1)√ (2)√ (3)× (4)× (5)× (6)√(7)√ (8)× (9)√2.選擇題。(1)D (2)C (3)A (4)B (5)A (6)B(7)C (8)C
【第4章循環(huán)結構與print語句課后習題】1.判斷題(請在題目右側的括號內記錄“√”或“×”)。(1)程序代碼通常是順序執(zhí)行的,而循環(huán)被用于跳過程序的一部分。()(2)計數(shù)循環(huán)被設計為迭代特定次數(shù)。()(3)for語句是一個循環(huán)遍歷一系列值的確定循環(huán)。()(4)類似for循環(huán)的語句稱為“控制結構”,因為它們完全控制了程序各部分的執(zhí)行順序。()(5)程序員經常使用a或b作為計數(shù)循環(huán)的循環(huán)索引變量。()(6)用“流程圖”的圖形方式可以幫助我們來思考程序的控制結構。()(7)Python的for循環(huán)不能處理list,但可以處理tuple與str。()(8)for循環(huán)的“in”跟賦值語句“=”的作用一樣,就是建立名稱與對象的綁定關系。()(9)在“不定循環(huán)”或“條件循環(huán)”中,一個獨立循環(huán)保持迭代,直到滿足某些條件,但是,需要事先確定循環(huán)次數(shù)。()(10)在不定循環(huán)中,始終在循環(huán)頂部進行條件測試,如果循環(huán)條件最初就為假,則循環(huán)體立即得到執(zhí)行。()(11)如果發(fā)生了死循環(huán),通常通過按<Ctrl>-C退出循環(huán)。如果循環(huán)非常忙而無法打斷,就要使用同時按<Ctrl>-<Alt>-<Delete>鍵這樣的“暴力”手段了。當然,最好是開始就避免寫出無限循環(huán)。()(12)在使用循環(huán)語句時,當已經達到目標不必再繼續(xù)執(zhí)行時,可使用break語句立即跳出循環(huán)。()(13)不定循環(huán)不能用來編寫交互式循環(huán),即不允許用戶根據需要重復程序的某些部分。()(14)處理批量數(shù)據的更好方法,是將所有數(shù)字先輸入到文件中,再仔細考察并編輯后,再發(fā)送給程序,生成報告。()(15)對于“后測試循環(huán)”,算法中必須至少執(zhí)行一次循環(huán)體,其條件測試在循環(huán)體之后進行。()(16)Python的內置函數(shù)print可以處理結果輸出到打印機上。()2.選擇題(請在題目右側的括號內填寫你的選擇)。(1)流程圖中的()表示程序中的判斷。A.菱形框 B.矩形框 C.圓形框 D.圓角矩形(2)哨兵循環(huán)不斷循環(huán)處理輸入的數(shù)據,直到遇到表明迭代結束的特殊值,這個特殊值就稱為(“”)A.終值 B.尾值 C.哨兵 D.條件(3)判斷和循環(huán)這樣的控制結構可以()在一起產生復雜的算法。A.組合 B.嵌套 C.連接 D.重疊(4)模板for<變量>inrange(<表達式>)描述了()。A.一般for循環(huán) B.賦值語句 C.流程圖 D.計數(shù)循環(huán)(5)用于計算階乘的模式是()。A.累積器 B.計數(shù)循環(huán) C.格子 D.輸入、處理、輸出(6)下列選項中,會輸出1,2,3三個數(shù)字的是()。A. B.foriinrange(3): foriinrange(2):print(i) print(i+1)C. D.a_list=[0,1,2] i=1foriina_list: whilei<3:print(i+1) print(i) i=i+1(7)閱讀下面的代碼:sum=0foriinrange(100):if(i%10):continuesum=sum+1print(sum)上述程序的執(zhí)行結果是()A.5050 B.4960 C.450 D.10(8)已知x=10,y=20,z=30;以下語句執(zhí)行后x,y,z的值是()。ifx<y:z=xx=yy=zA.10,20,30 B.10,20,20 C.20,10,10 D.20,10,30(9)有一個函數(shù)關系如下表所示:xyx<0x-1x=0xx>0x+1下列程序段中,能正確表示上面關系的是()。A. B.y=x+1 y=x-1ifx>=0: ifx!=0:ifx==0: ifx>0:y=x y=x+1else: else:y=x–1 y=xC. D.ifx<=0: y=xifx<0: ifx<=0:y=x-1 ifx<0:else: y=x-1y=x else:else: y=x+1y=x+1(10)下列語句正確的是()。A.min=xifx<yelsey B.max=x>y?x:yC.if(x>y)printx D.whileTrue:pass3.討論:(1)解釋確定循環(huán)、for循環(huán)和計數(shù)循環(huán)幾個概念之間的關系。(2)寫出以下片段的輸出:a.foriinrange(5):print(i*i)b.fordin[3,1,4,1,5]:print(d,end="")c.foriinrange(4):print("Hello")d.foriinrange(5):print(i,2**i)(3)如果執(zhí)行下面的代碼,你認為會發(fā)生什么?print("start")foriinrange(0):print("Hello")print("end")(4)如果執(zhí)行下面的代碼,你認為會發(fā)生什么?print("start")foriinrange(0):print("Hello")print("end")
【第4章循環(huán)結構與print語句課后習題答案】1.判斷題。(1)× (2)√ (3)√ (4)× (5)× (6)√(7)× (8)√ (9)× (10)× (11)√ (12)√(13)× (14)√ (15)√ (16)×2.選擇題(1)A (2)C (3)B (4)D (5)A (6)C(7)D (8)C (9)CD (10)D
【第5章字典與集合課后習題】1.判斷題(請在題目右側的括號內記錄“√”或“×”)(1)雜湊,是指通過某種雜湊函數(shù)/算法把要檢索的項與用來檢索的索引關聯(lián)起來。()(2)通過雜湊函數(shù)/算法將要檢索的項與用來檢索的索引(稱為雜湊,或者雜湊值)關聯(lián)起來,生成一種便于搜索的數(shù)據結構,就稱為散列,即雜湊表。()(3)網站若提供大型文件,可一并附上該文件的雜湊值,下載后便能以雜湊值檢查文件是否完整無缺。()(4)字典類型含有鍵值配對,只要是可變的對象都能作為鍵。()(5)字典和列表一樣,受限于連續(xù)整數(shù)索引值,不能使用不連續(xù)的大數(shù)字作為鍵。()(6)字典是一種映射形式的類型,從“鍵”映射到“值”,但其值只能是數(shù)值類型的對象。()(7)集合類型是儲存某些東西的數(shù)據結構,可雜湊的對象方能成為集合的元素。()(8)對于字典來說,把“名稱”放在命名空間里,就是指“把名稱與對象的綁定關系存儲在字典里”。()2.選擇題(請在題目右側的括號內填寫你的選擇)。(1)數(shù)學家使用下標,計算機程序員使用()。A.切片 B.索引 C.Python D.咖啡因(2)以下()項不是Python中的內置序列操作。A.排序 B.連接 C.切片 D.重復(3)將單個數(shù)據項添加到列表末尾的方法是()。A.extend B.add C.plus D.append(4)以下()項不是Python列表方法。A.index B.insert C.get D.pop(5)以下()項不是Python列表的特點。A.它是一個對象 B.它是一個序列C.它可以容納對象 D.它是不可變的(6)以下()表達式正確地測試x是偶數(shù)。A.x%2==0 B.even(x) C.notadd(x) D.x%2==x(7)()關鍵字參數(shù)用于將鍵函數(shù)傳入sort方法。A.reverse B.reversed C.cmp D.key(8)用來建立字典的字典生成式使用()將字典對象包起來。A.方括號“[]” B.大括號“{}”C.雙引號“""” D.尖括號“<>”(9)集合(set)是一種()的容器類型,同一個對象只能放進去一次。A.字符型 B.倒序性 C.不具順序性 D.順序性(10)建立集合時,可使用被()圓括號“()”包住、以逗號“,”隔開元素的字面值形式。A.圓括號“()” B.大括號“{}”C.雙引號“""” D.尖括號“<>”3.討論:(1)給定初始化語句s1=[2,1,4,3]s2=[‘C’,‘a’,‘b’]顯示以下每個序列表達式求值的結果。a.s1+s2 __________________________________________________________b.3*s1+2*s2 __________________________________________________________c.s1[1] __________________________________________________________d.s1[1:3] __________________________________________________________e.s1+s2[-1] __________________________________________________________(2)給定上一個問題相同的初始語句,在執(zhí)行以下每個語句后,顯示s1和s2的值。獨立地處理每個部分(即,假定s1和s2每次從其初始值開始)。a.s1.remove(2) __________________________________________________b.s1.sort() __________________________________________________c.s1.append([s2.index(‘b’)]) __________________________________________________d.s2.pop(s1.pop(2)) __________________________________________________e.s2.insert(s1[0],‘d’) __________________________________________________
【第5章字典與集合課后習題答案】1.判斷題(1)√ (2)√ (3)√ (4)× (5)× (6)×(7)√ (8)√2.選擇題(1)B (2)A (3)D (4)C (5)D (6)A(7)D (8)B (9)C (10)A
【第6章序列與迭代課后習題】1.判斷題(請在題目右側的括號內記錄“√”或“×”)。(1)Python為序列提供了充分的支持,存取包括列表、元組、字符串、文件這樣的序列類型時,核心的概念就是迭代。()(2)所謂的深復制和淺復制可以針對Python的各種數(shù)據類型。()(3)淺復制只賦值指向某個對象的指針,而不賦值對象本身。()(4)深復制會創(chuàng)造一個鏡像對象,新對象跟原對象各項指標相反。()(5)循序、條件判斷再加上迭代(重復)的執(zhí)行形式,組成了基本的程序流程。()(6)在序列類型中,“+”代表復制,“*”代表連接。()(7)與list、tuple、str一樣,序列也是實際類型,可產生出對象。()(8)抽象類型可迭代項(Iterable)定義了“建立迭代器(Iterator)”的接口,而Iterator定義了“逐步取出下一個元素”的接口。()(9)Python運用各種類型(不包括抽象類型)來規(guī)范對象的接口,根據類型定義出一套存取方式。(×)(10)“刪除元素”的意思是移除掉該列表的某索引值以及指向對象的綁定關系。()(11)除了索引,Python還提供切片方式來存取序列類型,其結果是新的序列對象。()2.選擇題(請在題目右側的括號內填寫你的選擇)。(1)迭代是一種抽象概念,意思就是()。A.一個接著一個處理 B.一個加上另一個C.一個排除另一個 D.元素之間沒有關系(2)列表是一種用途非常廣泛的數(shù)據結構,Python提供了稱為列表生成式的語法,其作用等同于()。A.通過序列來建立新的數(shù)據結構 B.運用切片來建立新的數(shù)據結構C.結合for與if來建立新串列 D.結合case與if來建立新串列(3)對象必定屬于某種類型,可以使用內置函數(shù)()查出某對象的類型。A.dir B.type C.dir D.list(4)從命名空間思考,當在程序里取用某名稱時,可尋找的位置如下。所以,尋找的順序是()。=1\*GB3①局部(函數(shù))范圍命名空間 =2\*GB3②全局范圍命名空間=3\*GB3③存放內置名稱命名空間(由模塊__builtins__提供)=4\*GB3④在局部與全局之間的“外圍函數(shù)”范圍A.=1\*GB3①=2\*GB3②=3\*GB3③=4\*GB3④ B.=1\*GB3①=2\*GB3②=4\*GB3④=3\*GB3③ C.=4\*GB3④=3\*GB3③=2\*GB3②=1\*GB3① D.=1\*GB3①=4\*GB3④=2\*GB3②=3\*GB3③(5)序列類型是一種容器(數(shù)據結構),里面的內容稱為()。A.元素 B.成員 C.單元 D.數(shù)據(6)索引存取方式中,以()的索引方式來指定想存取的元素。A.花括號“{}” B.圓括號“()” C.方括號“[]” D.雙引號“""”(7)有一些運算符可以用來判斷是否為同一個對象,但下列()不是這樣的運算符。A.is B.notis C.isnot D.notin3.討論:(1)給定初始化語句:>>>a=22;b=4+5j;c='hi';d=(169,44)>>>e=['Amy',a,d]>>>defsq(x):returnx*x...>>>importmath這里的a、b、c、d、e、sq、math都是名稱,分別指向某種對象。請寫出以下每個內置函數(shù)type查出的對象類型:A.type(a) ________________________________________________________B.type(c) ________________________________________________________C.type(e) ________________________________________________________D.type(sq) ________________________________________________________E.type(math) ________________________________________________________(2)以方括號“[]”的索引方式來指定想存取的元素。給定初始化語句:>>>li=[30,41,52,63,74,85]請寫出表達式執(zhí)行結果:A.li[0] ________________________________________________B.li[5],li[len(li)-1] ________________________________________________C.li[99] ________________________________________________(3)字符串也能使用索引:給定初始化語句:>>>s='hellopython'請寫出表達式執(zhí)行結果:A.s[0],s[6] ________________________________________________B.s[0],s[6],s[len(s)-1] ________________________________________________(4)除了索引,Python還提供切片方式來存取序列類型,切片的結果是新的序列對象。給定初始化語句:>>>li=[30,41,52,63,74,85]請寫出表達式執(zhí)行結果:A.li[0:3] ________________________________________________________B.li[2:] ________________________________________________________C.li[:4] ________________________________________________________D.li[5:3] ________________________________________________________E.li[99:3]________________________________________________________F.li[3:99]________________________________________________________G.li[:] ________________________________________________________【第6章序列與迭代課后習題答案】1.判斷題(1)√ (2)× (3)√ (4)× (5)√ (6)×(7)× (8)√ (9)× (10)√ (11)√ 2.選擇題(1)A (2)C (3)B (4)D (5)A (6)C(7)B
【第7章函數(shù)課后習題】1.判斷題(請在題目右側的括號內記錄“√”或“×”)。(1)程序員很少定義自己的函數(shù)。()(2)函數(shù)只能在程序中的一個位置調用。()(3)信息可以通過參數(shù)傳遞到函數(shù)中。()(4)每個Python函數(shù)都返回某些值。()(5)在Python中,某些參數(shù)按引用傳遞。()(6)在Python中,函數(shù)只能返回一個值。()(7)Python函數(shù)永遠不能修改參數(shù)。()(8)使用函數(shù)的一個原因是減少代碼重復。()(9)函數(shù)中定義的變量是該函數(shù)的局部變量。()(10)如果定義新的函數(shù)使程序更長,那么,這是一個壞主意。()2.選擇題(請在題目右側的括號內填寫你的選擇)。(1)程序中使用函數(shù)的部分稱為()。A.用戶 B.調用者 C.被調用者 D.語句(2)Python函數(shù)定義的開頭是()。A.def B.define C.function D.defun(3)函數(shù)可以將輸出發(fā)送回程序,使用()。A.return B.print C.assignment D.SASE(4)正式且實際的參數(shù)匹配是按()。A.名稱 B.位置 C.ID D.興趣(5)以下()項“不是”函數(shù)調用過程中的一個步驟。A.調用程序掛起 B.形參被賦予實參的值C.函數(shù)的主體執(zhí)行 D.控制返回到調用函數(shù)之前的點(6)在Python中,實際的參數(shù)被()傳遞給函數(shù)。A.按值 B.按引用 C.隨機 D.按聯(lián)網(7)以下()項不是使用函數(shù)的原因。A.減少代碼重復 B.使程序更模塊化C.使程序更好解釋 D.展示智力優(yōu)勢(8)如果一個函數(shù)返回一個值,它通常應該在()中調用。A.表達式 B.不同的程序 C.main D.手機(9)沒有return語句的函數(shù)返回()。A.無 B.其參數(shù) C.其變量 D.None(10)函數(shù)可以修改實參的值,如果它是()。A.可變的 B.列表 C.按引用傳遞的 D.變量3.討論:(1)用你自己的話來描述在程序中定義函數(shù)的兩個動機。(2)我們一直將計算機程序看成是指令序列,即計算機有條不紊地執(zhí)行一個指令,然后移動到下一個指令。包含函數(shù)的程序是否適合這個模型?請解釋你的答案。(3)參數(shù)是定義函數(shù)的一個重要概念。a.參數(shù)的目的是什么?b.形參和實參之間有什么區(qū)別?c.參數(shù)與普通變量在哪些方面類似,哪些方面不同?(4)函數(shù)可以被認為是其他程序中的子程序。與任何其他程序一樣,我們可以將函數(shù)看成具有輸入和輸出,與main程序通信。a.程序如何提供“輸入”到一個函數(shù)?b.函數(shù)如何為程序提供“輸出”?(5)考慮下面這個非常簡單的函數(shù):defcube(x):answer=x*x*xreturnanswera.這個函數(shù)做什么?b.說明程序如何使用此函數(shù)打印y3的值,假設y是一個變量。c.下面是使用這個函數(shù)的程序的一個片段:answer=4result=cube(3)print(answer,result)這個片段的輸出是427。解釋為什么輸出不是2727,雖然cube似乎將answer的值改成了27。
【第7章函數(shù)課后習題答案】1.判斷題(1)× (2)× (3)√ (4)× (5)× (6)×(7)× (8)√ (9)√ (10)×2.選擇題(1)B (2)A (3)A (4)B (5)D (6)A(7)D (8)A (9)D (10)C
【第8章模塊課后習題】1.判斷題(請在題目右側的括號內記錄“√”或“×”)。(1)由于存儲技術的發(fā)展,如今的程序語言通常都是單獨大程序運行。()(2)如果沒有適當?shù)某绦驇熳鲋?,例如?shù)學運算、網絡連接、3D繪圖、音頻處理、機器人控制等,我們就不能專注于真正想要開發(fā)的上層軟件功能。()(3)Python的模塊可以是Python,也可以是C(或其他)語言的程序代碼。()(4)在程序開發(fā)過程中,為了編寫可維護的代碼,把很多函數(shù)分組,分別放到不同的文件里,一個獨立的.py文件就稱為是一個模塊。()(5)模塊編寫完畢后可以在其他地方引用(程序復用),但是,不能引用來自第三方的模塊。()(6)編寫模塊時無需避免函數(shù)名和變量名的沖突。()(7)Python引入了按目錄來組織模塊的方法,稱為包。()(8)每一個包目錄下面都必須存在一個__init__.py文件,否則Python會把這個目錄當成普通目錄。()(9)__init__.py本身就是一個模塊,不可以是空文件。()(10)當需要使用別的模塊文件里定義的函數(shù)、類型、常數(shù)時,須以語句import來讀入。()(11)Python內置了許多非常有用的模塊,無需額外安裝和配置即可直接使用。()2.選擇題(請在題目右側的括號內填寫你的選擇)。(1)在Python中,程序代碼重復使用這樣的機制叫()與包,它被用來組織程序的架構。A.模塊 B.小程序 C.微程序 D.線程(2)如今的程序語言通常不能單獨存在,必須要有豐富的()在背后支撐,例如數(shù)學運算、網絡連接、3D繪圖、音頻處理、機器人控制等等。A.進程組 B.線程組 C.程序庫 D.數(shù)據庫(3)在Python中,一個獨立的.py文件稱為是一個()。A.進程 B.模塊 C.線程 D.程序(4)一些較大規(guī)模的程序設計工作通常是團隊合作的成果,為了避免合作中可能造成的模塊名沖突,Python引入了按目錄來組織模塊的方法,稱為()。A.File B.DIR C.Path D.Package(5)自己創(chuàng)建模塊時,要注意命名不能和Python自帶的模塊名稱沖突。例如,()。A.sys.py B.abc.py C.a123.py D.Anfang.py(6)一個Python程序可由好幾個模塊組成,當想使用別的模塊文件里定義的函數(shù)、類型、常數(shù)時,須以語句()來讀入。A.append B.import C.Open D.add(7)對Python解釋器來說,主程序文件是整個程序的入口,每個模塊都有個名為“()”的屬性項,存放著代表模塊名的字符串。A.name B.__first__ C.__begin__ D.__name__(8)Python的模塊不一定是Python語言的實例,也可以使用其他語言來開發(fā),例如()的標準程序庫模塊采用C語言實例。A.C B.C++ C.CPython D.C#(9)在Python中,模塊()math里含有各種常用的數(shù)學函數(shù),諸如sqrt(x)計算平方根、pow(x,y)計算x的y次方、log10(x)求出x的對數(shù)(底為10)、sin(x)與tan(x)等三角函數(shù)、pi與e等數(shù)學常數(shù)。A.math B.main C.function D.mathematics(10)讀入模塊時,Python會到模塊搜尋路徑,包括當前目錄、環(huán)境變數(shù)PYTHONPATH、標準程序庫目錄、.pth檔的內容、第三方程序庫安裝目錄site-packages,“()”尋找。A.按照逆序 B.按照順序 C.隨機 D.重復(11)Python的模塊會以不同的文件格式出現(xiàn),其擴展名不一定是.py,在以語句()import讀入時,其后面跟著的模塊名不要加.py。A.append B.input C.add D.import(12)Python有建立、包裝、發(fā)布、下載、安裝/移除軟件包的機制,統(tǒng)稱為()管理系統(tǒng)。A.數(shù)據庫 B.程序 C.包 D.模塊3.討論:(1)刪除Python包中的__init__.py后試著讀入,會產生什么錯誤信息?(2)請解釋“fromxyzimportabc”與“from.importabc”有何不同。(3)建立模塊文件,開啟Python解釋器,試著在互動模式讀入該模塊文件。(4)是否有只能使用import而不能使用from的情況。(5)含有__main__.py文檔的目錄可被視為一個程序,請試試看。該目錄若以ZIP壓縮成為一個檔,也可被視為一個程序。
【第8章模塊課后習題答案】1.判斷題(1)× (2)√ (3)√ (4)√ (5)× (6)×(7)√ (8)√ (9)× (10)√ (11)√2.選擇題(1)A (2)C (3)B (4)D (5)A (6)B(7)D (8)C (9)A (10)B (11)D (12)C
【第9章字符串與文件課后習題】1.判斷題(請在題目右側的括號內記錄“√”或“×”)。(1)Python字符串字面量總是用雙引號括起來。()(2)字符串s的最后一個字符在位置len(s)-1。()(3)一個字符串總是包含一行文本。()(4)在Python中,“4”+“5”是“45”。()(5)ASCII是使用數(shù)字代碼表示字符的標準。()(6)將文件與程序中的對象相關聯(lián)的過程稱為“打開”該文件。()2.選擇題(請在題目右側的括號內填寫你的選擇)。(1)如果包含在()之中,Python字符串字面量可以跨越多行。A." B.' C.''' D.\(2)訪問字符串中的單個字符稱為()。A.切片 B.連接 C.賦值 D.索引(3)()函數(shù)給出了字符的Unicode值。A.ord B.fload C.chr D.eval(4)以下()項不能用于將數(shù)字字符串轉換為數(shù)字。A.int B.float C.str D.eval(5)包括(幾乎)所有書面語言的字符,ASCII的后繼標準是()。A.TELLI B.ASCII+ C.Unicode D.ISO(6)()字符串方法將字符串的所有字符轉換為大寫。A.capitalize B.capwords C.uppercase D.upper(7)format方法中填充的字符串“插槽”標記為()。A.% B.$ C.[] D.{}(8)下列()不是Python中的文件讀取方法。A.read B.readline C.readall D.readlines(9)使用文件進行輸入和輸出的程序的術語是()。A.面向文件的 B.多行 C.批處理 D.lame(10)在讀取或寫入文件之前,必須創(chuàng)建文件對象()。A.open B.create C.File D.Folder3.討論:(1)給定初始化語句:s1="spam"s2="ni!"寫出以下每個字符串表達式求值的結果。A."TheKnightswhosay,"+s2 _________________________________________B.3*s1+2*s2 _________________________________________C.s1[1] _________________________________________D.s1[1:3] _________________________________________E.s1[2]+s2[:2] _________________________________________F.s1+s2[-1] _________________________________________G.s1.upper() _________________________________________H.s2.upper().ljust(4)*3 _________________________________________(2)給定與上一個問題相同的初始化語句,寫出一個Python表達式,可以通過對s1和s2執(zhí)行字符串操作構造以下每個結果。A."NI" _________________________________________B."ni!Spamni!" _________________________________________C."SpamNi!SpamNi!SpamNi!" _________________________________________D."spam" _________________________________________E.["sp","m"] _________________________________________F."spm" _________________________________________(3)顯示以下每個程序片段產生的輸出:A.forchin"aardvark":print(ch) _________________________________________B.forwin"Nowisthewinterofourdiscontent...".split():print(w) _________________________________________C.forwin"Mississippi".split("I"):print(w,end="") _________________________________________D.msg=""forsin"secret".split("e"):msg=msg+sprint(msg) _________________________________________E.msg=""forchin"secret":msg=msg+chr(ord(ch)+1)print(msg) _________________________________________(4)寫出以下每個字符串格式化操作產生的字符串。如果操作不合法,請解釋原因。A."Lookslike(1)and{0}forbreakfast".format("eggs","spam")_________________________________________________________________________B."Thereis(0)(1){2}{3}".format(1,"spam",4,"you")_________________________________________________________________________C."Hello(0)".format("Susan","computewell")_________________________________________________________________________D."{0:0.2f}{0:0.2f}".format(2.3,2.3468)_________________________________________________________________________E."{7.5f}{7.5f}".format(2.3,2.3468)_________________________________________________________________________F."Timeleft{0:02}:{1:05.2f}".format(1,37.374)_________________________________________________________________________G."(1:3)".format("14")_________________________________________________________________________
【第9章字符串與文件課后習題答案】1.判斷題(1)× (2)√ (3)× (4)√ (5)√ (6)√2.選擇題(1)C (2)D (3)A (4)C (5)D (6)D(7)D (8)C (9)B (10)A
【第10章面向對象程序設計課后習題】1.判斷題(請在題目右側的括號內記錄“√”或“×”)。(1)創(chuàng)建類的新實例的函數(shù)稱為取值方法。()(2)實例變量用于在對象內存儲數(shù)據。()(3)通過調用構造方法創(chuàng)建新對象。()(4)位于對象中的函數(shù)稱為實例變量。()(5)Python方法定義的第一個參數(shù)稱為this。()(6)一個對象只能有一個實例變量。()(7)在數(shù)據處理中,有關人或事物的一組信息稱為文件。()(8)在Python類中,構造方法稱為__init__。()(9)文檔字符串與注釋是一樣的。()(10)一個方法終止后,實例變量就會消失。()(11)方法名稱應始終以一條或兩條下劃線開始。()(12)信息存儲在對象的“實例變量”中,操作是“存在”于對象中的函數(shù),實例變量和操作一起被稱為對象的“屬性”。()2.選擇題(請在題目右側的括號內填寫你的選擇)。(1)返回對象的實例變量的值的方法稱為()。A.設值方法 B.函數(shù) C.構造方法 D.取值方法(2)Python保留字()開始了類定義。A.def B.class C.object D.init(3)具有四個形式參數(shù)的方法定義通常在調用時有()個實際參數(shù)。A.3 B.4 C.5 D.看情況(4)方法定義類似于()。A.循環(huán) B.模塊 C.導入語句 D.函數(shù)定義(5)在一個方法定義中,可以通過表達式()訪問實例變量x。A.x B.self.x Cself[x] D.self.getX()3.討論。(1)選擇一個有趣的現(xiàn)實世界對象的例子,通過列出它的數(shù)據(屬性,它“知道什么”)及方法(行為,它可以“做什么”),將它描述為一個編程對象。(2)請看下面的程序代碼,哪里有錯?classMyClass():x,y=3,4deffoo(self):print(x+y)defbar(self):print(self.x+self.y)MyClass().foo()MyClass().bar()(3)下面程序有三個print,各自會輸出哪些值?classA(object):x=1classB(A):passclassC(A):passprint(A.x,B.x,C.x)#???B.x=2print(A.x,B.x,C.x)#???A.x=3print(A.x,B.x,C.x)#???(4)下面類階層的搜尋順序為何?若建立D的實例并調用方法foo,會執(zhí)行哪一個方法?classA:deffoo(self):passclassB(A):passclassC(A):deffoo(self):passclassD(B,C):pass(5)請看下面的類繼承關系,建立C實例時,將會按照B-A-C的順序調用初始化方法__init__。請問,如果類A與B的__init__需要傳入參數(shù),該怎么修改。classA(object):def__init__(self):super(A,self).__init__()print('A')classB(object):def__init__(self):super(B,self).__init__()print('B')classC(A,B):def__init__(self):super(C,self).__init__()#super().__init__()print('C')C()(6)請定義類Person,擁有兩個屬性項:出生年月日與年齡,年齡并非固定數(shù)值、而是根據目前日期動態(tài)計算出來。
【第10章面向對象程序設計課后習題答案】1.判斷題(1)× (2)√ (3)√ (4)× (5)× (6)×(7)√ (8)√ (9)× (10)√ (11)× (12)√2.選擇題(1)B (2)B (3)C (4)D (5)B
【第11章對象的封裝、繼承與多態(tài)課后習題】1.判斷題(請在題目右側的括號內記錄“√”或“×”)。(1)從類定義之外直接訪問實例變量是不好的風格。()(2)面向對象的設計是為了解決問題、尋找和定義的一組有用的函數(shù)的過程。()(3)可以通過在問題描述中查看動詞來找到候選對象。()(4)通常,設計過程涉及大量的試錯。()(5)在類定義中隱藏對象的細節(jié)稱為實例化。()(6)在Python程序設計中,對象的實現(xiàn)細節(jié)被封裝在類定義中,這是Python的強制要求。()(7)多態(tài)字面意思是“許多變化”。()(8)超類從其子類繼承行為。()(9)繼承是指一個對象針對于另一個對象的某些獨有的特點、能力進行復制或者延續(xù)。()(10)多繼承是指一個對象可以同時從另外兩個或者兩個以上的對象中繼承所需要的特點與能力,并且不會發(fā)生沖突等現(xiàn)象。()2.選擇題(請在題目右側的括號內填寫你的選擇)。(1)以下()項不是面向對象設計/編程的基本特征之一。A.繼承 B.多態(tài) C.通用 D.封裝(2)定義一個類的“私有”方法,Python的慣例是用()開始方法名稱。A.“private” B.符號“#” C.下劃線(__)D.連字符(-)(3)將細節(jié)隱藏在類定義中,術語稱為()。A.模糊 B.子類化 C.文檔 D.封裝(4)封裝是指將描述每一個對象的屬性以及其行為的程序代碼組織到一起,一并封裝在一個實體“()”中,為軟件結構的相關部件所具有的模塊性提供良好的基礎。A.類 B.函數(shù) C.子程序 D.進程(5)實現(xiàn)“()高內聚、低耦合”是面向對象技術的封裝性所需要實現(xiàn)的基本目標。A.低內聚、高耦合 B.高內聚、低耦合C.高內聚、高耦合 D.低內聚、低耦合(6)從設計角度看,封裝的設計使對象的()無關。前者可以改變,但只要接口保持不變,依賴對象的其他組件就不會被破壞。A.屬性與其方法 B.數(shù)據與其程序C.規(guī)模與其功能 D.實現(xiàn)與其使用(7)封裝的優(yōu)點之一是它支持(),允許打包一般組件,在不同程序中使用。A.數(shù)據結構 B.代碼復用 C.模塊規(guī)模 D.編程技術(8)使用對象,在類之外與對象的所有交互一般應使用其方法提供的()來完成。A.函數(shù) B.端口 C.接口 D.窗口(9)如果要讓類的內部屬性不被外部訪問,可以在屬性名稱前加上(),使其變成一個私有變量,只有內部可以訪問。A.雙下劃線“__” B.一個下劃線“_”C.一個反斜杠“/” D.一個連接符“-”(10)在Python中,特殊變量的變量名是以()開頭,并且以雙下劃線結尾的,可以直接訪問,不是private變量。A.一個下劃線“_” B.雙下劃線“__”C.一個反斜杠“/” D.一個連接符“-”(11)繼承是指,當定義一個類的時候,可以從另一個類借用(繼承)其()來定義一個新類。A.屬性 B.數(shù)據 C.接口 D.行為(12)在繼承中,當子類和父類都存在
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國自動焊劑焊條烘箱數(shù)據監(jiān)測研究報告
- 2025至2030年中國潔膚精油數(shù)據監(jiān)測研究報告
- 2025至2030年中國平面趟門數(shù)據監(jiān)測研究報告
- 2025年中國神衰果素片市場調查研究報告
- 2025年中國可控流量型磷化氫熏蒸機市場調查研究報告
- 2025至2031年中國聚四氟乙烯再生粉行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國現(xiàn)場壓力變送器行業(yè)投資前景及策略咨詢研究報告
- 2025年度建筑工地專用鋼釘鐵釘租賃合同4篇
- 2025年度存量房買賣資金監(jiān)管服務合同4篇
- 二零二五年度電商代銷平臺傭金調整合同4篇
- 【語文】第23課《“蛟龍”探海》課件 2024-2025學年統(tǒng)編版語文七年級下冊
- 加強教師隊伍建設教師領域學習二十屆三中全會精神專題課
- 2024-2025學年人教版數(shù)學七年級上冊期末復習卷(含答案)
- 2024年決戰(zhàn)行測5000題言語理解與表達(培優(yōu)b卷)
- 四年級數(shù)學上冊人教版24秋《小學學霸單元期末標準卷》考前專項沖刺訓練
- 中國游戲發(fā)展史課件
- 2025年慢性阻塞性肺疾病全球創(chuàng)議GOLD指南修訂解讀課件
- (完整版)減數(shù)分裂課件
- 銀行辦公大樓物業(yè)服務投標方案投標文件(技術方案)
- 第01講 直線的方程(九大題型)(練習)
- 微粒貸逾期還款協(xié)議書范本
評論
0/150
提交評論