上海交大程序設計python期末考試題_第1頁
上海交大程序設計python期末考試題_第2頁
上海交大程序設計python期末考試題_第3頁
上海交大程序設計python期末考試題_第4頁
上海交大程序設計python期末考試題_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、一. 選擇題: 將唯一正確的選項寫在題前括號中(每題1分,共15分)【 】1表達式 '%d%d' %(3 / 4, 3 % 4)的值是: A'0%3' B'0%3' C'3/4%3%4' D'3/4%3%4'【 】2下面標識符中不是python語言的保留字的是:Acontinue Bexcept Cinit Dpass【 】3以下程序的輸出結(jié)果是(提示:ord(' a ')=97):lista = 1,2,3,4,5,'a','b','c','

2、d','e'print lista2 + lista5A100 B'd' Cd DTypeEror【 】4下面的循環(huán)體執(zhí)行的次數(shù)與其它不同的是:A i = 0while( i <= 100):print i,i = i + 1B for i in range(100):print i, C for i in range(100, 0, -1): print i, D i = 100 while(i > 0):print i, i = i 1【 】5自頂向下逐步求精的程序設計方法是指: A將一個大問題簡化為同樣形式的較小問題。 B先設計類,再實

3、例化為對象。 C解決方案用若干個較小問題來表達,直至小問題很容易求解。 D先設計簡單版本,再逐步增加功能?!?】6簡單變量作為實參時,它和對應的形參之間數(shù)據(jù)傳遞方式是: A由形參傳給實參 B由實參傳給形參 C由實參傳給形參,再由形參傳給實參 D由用戶指定傳遞方向【 】7以下說法不正確的是: A在不同函數(shù)中可以使用相同名字的變量。 B函數(shù)可以減少代碼的重復,也使得程序可以更加模塊化。 C主調(diào)函數(shù)內(nèi)的局部變量,在被調(diào)函數(shù)內(nèi)不賦值也可以直接讀取。D函數(shù)體中如果沒有return語句,也會返回一個None值?!?】8關于list和string下列說法錯誤的是: Alist可以存放任意類型。 Blist是

4、一個有序集合,沒有固定大小。 C用于統(tǒng)計string中字符串長度的函數(shù)是string.len()。 Dstring具有不可變性,其創(chuàng)建后值不能改變?!?】9下面問題屬于計算機本質(zhì)上不可解問題的是:AHanoi塔問題 B排序問題 C求階乘 DHalting問題【 】10python語言定義的class的初始化函數(shù)的函數(shù)名是:Ainit B_init_ C_init Dinit_【 】11已知x = 43,y = False;則表達式(x >= y and 'A' < 'B' and not y)的值是:AFalseB語法錯CTrueD"假&q

5、uot;【 】12對n個數(shù)做歸并排序(merge sort),這個算法是: Anlogn時間的 B線性時間的Clogn時間的Dn2時間的【 】13下面不是計算思維的特征的是:A概念化 B數(shù)學與工程思維的融合 C面向所有的人 D計算機的思維【 】14執(zhí)行下面操作后,list2的值是:list1 = 4,5,6list2 = list1list12 = 3A4,5,6 B4,3,6 C4,5,3 DA,B,C都不正確【 】15下列合法的變量名是:Amain( )Bcar2C2carDvar-name二概念填空(每空1分,共10分)1表達式eval("4 * 2 + 5 % 2 + 4/3

6、")的結(jié)果是 。2print 'This float, %-10.5f, has width 10 and precision 5. ' % (3.1415926) 的輸出結(jié)果是: 3計算的本質(zhì)是 和 。4執(zhí)行 print 1.3 - 1 = 0.3,結(jié)果是False的原因是 。5下面語句的執(zhí)行結(jié)果是 。 s = "bb c" print string.split(3 * s)6 、 、 是科技創(chuàng)新的三大支柱。7無窮循環(huán)while True:的循環(huán)體中可用 語句退出循環(huán)。三閱讀程序并回答問題(每題5分,共40分)1當輸入是54321時,寫出下面程序

7、的執(zhí)行結(jié)果。def main():num = input(“請輸入一個整數(shù):”)while num != 0: print num % 10 num = num / 10main()答案:543212寫出下面程序的執(zhí)行結(jié)果。a = 1, 20, 32, 14, 5, 62, 78, 38, 9, 10 for i in range(9):if( ai > ai+1 ):ai, ai+1 = ai+1, aiprint a3寫出下面程序的執(zhí)行結(jié)果。def main(): lst = 2, 4, 6, 8, 10 lst = 2 * lst lst1, lst3 = lst3, lst1 s

8、wap(lst, 2, 4) for i in range(len(lst) - 4): print lsti, " "def swap(lists, ind1, ind2): listsind1, listsind2 = listsind2, listsind1main()4寫出下面程序的執(zhí)行結(jié)果。import stringdef main(): s = "I like python!" s = string.lower(s) alist = countlist = count=0 for i in range( len(s) ): if (ord(s

9、i) <= ord('Z') and ord(si) >= ord('A') or (ord(si) <= ord('z') and ord(si) >= ord('a'): if (si in alist): sign = alist.index(si) countlistsign += 1 else: alist.append(si) countlist.append(1) count += 1 for i in range(count): print alisti, " ", co

10、untlistimain()5閱讀下面程序def fact(n)return n * fact(n-1)def main()print fact(5)請問該程序是否正確?如果正確的話,請寫出運行結(jié)果;如果不正確,則修改程序并寫出相應運行結(jié)果。6下面程序是為了在屏幕上顯示10個相同形狀的長方形。from graphics import *def main(): win = GraphWin(200,200) shape = Rectangle( Point(20,20), Point(30,40) ) shape.setOutline("yellow") shape.setF

11、ill("red") shape.draw(win) sList = sList.append(shape) for i in range(1,10): p = win.getMouse() c = sListi-1.getCenter() dx = p.getX() - c.getX() dy = p.getY() - c.getY() win.getMouse() win.close() main()請問該程序是否正確?如果不正確,請修改程序。7寫出下面程序的功能。假設文件“original”內(nèi)容為Upgrc y npmepyk.Write a program.那么文件

12、“savetoo”內(nèi)存儲的內(nèi)容應該是什么?import stringdef main(): print "This is a program." infile = open("original", 'r' ) outfile = open("savetoo", 'w' ) msg = "" for strstr in infile.readlines(): for ichar in strstr: if ichar >= 'a' and ichar <=

13、'z': n = ord(ichar) + 2 yn = (n - ord( 'a' ) ) % 26 ch=chr( ord( 'a' ) + yn ) elif ichar >= 'A' and ichar <= 'Z': n = ord(ichar) + 2 yn = ( n - ord( 'A' ) ) % 26 ch = chr( ord( 'A' ) + yn ) else: ch = ichar msg = msg + ch outfile.write(ms

14、g) infile.close() outfile.close()main()8修改下面程序使得其能運行正常。class Box: #Box類 def init(self, l, w, h): self.length = l self.width = w self.height = h def volume( ): /計算Box的體積 return length * width * heightb = Box(4, 5, 6)print b.volume() 四. 程序填空(每空1分,共15分)1下列程序的作用是將輸入的字符串中的每個字符的ASCII碼形成一個列表。例如,輸入為abcde時,輸

15、出為97, 98, 99, 100, 101。請補充完整。def main():str = raw_input(“請輸入一個字符串:”)output = for i in range( ): num = output. (num)print outputmain()2請補充完整mergesort程序。def merge(lst1, lst2, lst3): i1 = i2 = i3 = 0 n1, n2 = len(lst1), len(lst2) while i1 < n1 and i2 < n2: if lst1i1 < lst2i2: # copy from lst1

16、lst3i3 = lst1i1 i1 = i1 + 1 else: # copy from list2 lst3i3 = lst2i2 i2 = i2 + 1 # item added to lst3 while lst3i3 = lst1i1 i1 = i1 + 1 i3 = i3 + 1 while lst3i3 = lst2i2 i2 = i2 + 1 i3 = i3 + 1def mergeSort(lst): n = len(lst) if m = n / 2 lst1, lst2 = mergeSort(lst1) mergeSort(lst2) merge(lst1, lst2,

17、 lst)3下面程序的作用是顯示輸入的三個整數(shù)的最大值和最小值,請補充完整。def main(): x,y,z = input("Please input three whole numbers: ") max,min = f(x,y,z) print "Max value: ", max, "Min value: ", mindef f(a,b,c): if (b>max): max = b if (c>max): max = c if (b<min): min = b if (c<min): min = c

18、 main()4下面程序的作用是打印一個由隨機字符(* 或者 #)組成的等腰三角形,請補充完整。from from string import *def main(): lines=input("please input the lines of triangle: ") for i in range(lines): character='' for j : if : mark='*' else: mark='#' print space+charactermain()五. 程序設計(共20分)1計算1-1/2+1/3-1/4+1/99-1/100+直到最后一項的絕對值小于10-4為止。(5分)2編程模擬一個與計算機扔骰子猜大小的游戲。每次游戲采用三局兩勝,計算機扔一個骰子,其中1,2,3算為小,4,5,6算為大。用戶每次可以猜大或者猜小,猜中則用戶贏,否則計算機贏。如程序的一次運行情況如下:Please input your guess(big/small

溫馨提示

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

最新文檔

評論

0/150

提交評論