




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、上海交大程序设计python期末 测验题作者:日期:一.选择题:将唯一正确的选项写在题前括号中(每题 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语言的保留字的是:A. continue B. except C. init D. pass【】3.以下程序的输出结果是(提示:ord (' a ') =97):lista = 1 , 2, 3, 4, 5,
2、39;a', 'b', 'c', 'd', 'e'print lista2 + lista5A. 100 B. 'd' C. d D. TypeEror4下面的循环体执行的次数与其它不同的是:A. i = 0while( i <= 100):print i,1 = i + 1B . for i in range(100): print i,C. for i in range(100, 0,-1):print i,D. i = 100while(i > 0):print i,i = i - 115
3、自顶向下逐步求精的程序设计方法是指:A,将一个大问题简化为同样形式的较小问题。B,先设计类,再实例化为对象。C.解决方案用若干个较小问题来表达,直至小问题很容易求解。D,先设计简单版本,再逐步增加功能。【6.简单变量作为实参时,它和对应的形参之间数据传递方式是:A .由形参传给实参B.由实参传给形参C.由实参传给形参,再由形参传给实参D. |由用户指定传递方向1 7以下说法不正确的是:A .在不同函数中可以使用相同名字的变量。B.函数可以减少代码的重复,也使得程序可以更加模块化。C.主调函数内的局部变量,在被调函数内不赋值也可以直接读取。D.函数体中如果没有return语句,也会返回一个 No
4、ne值。18.关于list和string下列说法错误的是:A . list可以存放任意类型。B. list是一个有序集合,没有固定大小。C.用于统计string中字符串长度的函数是string.len()。D. string具有不可变性,其创建后值不能改变。【】9.下面问题属于计算机本质上不可解问题的是:A. Hanoi塔问题 B.排序问题C.求阶乘 D. Halting问题10. python语言定义的class的初始化函数的函数名是:A . initB. _init_C. _init D . init_【11.已知 x = 43, y = False;则表达式(x >= y and
5、'A' < 'B' and not y)的值是:A. FalseB.语法错 C. True D."假"【12.对n个数做归并排序(merge sort),这个算法是:A. nlogn时间的 B.线性时间的C. logn时间的 D. n2时间的【】13.下面不是计算思维的特征的是:A.概念化B.数学与工程思维的融合C.面向所有的人D.计算机的思维【】14.执行下面操作后,list2的值是:list1 = 4,5,6list2 = list1C. 4,5,3D. A,B,C都不正确list12 = 3A. 4,5,6 B. 4,3,6【】1
6、5.下列合法的变量名是:A . main( ) B . car2C. 2carD . var-name二.概念填空(每空1分,共10分)1 .表达式 eval("4 * 2 + 5 % 2 + 4/3")的结果是。2 . print 'This float, %-10.5f, has width 10 and precision 5. '% (3.1415926)的输出结果是:3 .计算的本质是 和。4 .执行 print 1.3 - 1 = 0.3 ,结果是 False的原因是 。5 .下面语句的执行结果是 。s = "bb c"pri
7、nt string.split(3 * s)6 . 、 、是科技创新的三大支柱。7 .无穷循环while True:的循环体中可用 语句退出循环。三.阅读程序并回答问题(每题 5分,共40分)1 .当输入是54321时,写出下面程序的执行结果。def main():num = input(请输入一个整数:”)while num != 0:print num % 10num = num / 10main()2 .写出下面程序的执行结果。a = 1,20, 32, 14, 5, 62, 78, 38, 9, 10for i in range(9):if( ai > ai+1):ai, ai+
8、1 = ai+1, aiprint a3 .写出下面程序的执行结果。def main():lst = 2, 4, 6, 8, 10lst = 2 * lstlst1, lst3 = lst3, lst1s, 2, 4)for i in range(len(lst) - 4):print lsti,""def s, ind1, ind2):listsind1, listsind2 = listsind2, listsind1main()4 .写出下面程序的执行结果。import string def main():s = "I like python!"s
9、 = string.lower(s) alist = 口countlist =count=0for i in range( len(s):if (ord(si) <= 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 += 1else:alist.append(si) countlist.ap
10、pend count += 1for i in range(count):print alisti, " ", countlisti main()5 .阅读下面程序 def fact(n)return n * fact(n-1)def main()print fact(5)请问该程序是否正确?如果正确的话,请写出运行结果;如果不正确,则修改程序并写出相应运行结果。6 .下面程序是为了在屏幕上显示10个相同形状的长方形。from graphics import *def main():win = GraphWin(200,200)shape = Rectangle( Poin
11、t(20,20), Point(30,40)shape.setOutline("yellow")shape.setFill("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
12、.写出下面程序的功能。假设文件“ original”内容为Upgrc y npmepyk.Write a program.那么文件“savetoo”内存储的内容应该是什么?import stringdef main():print "This is a program. infile = open("original", 'r')outfile = open("savetoo", 'w')msg =for strstr in in():for ichar in strstr:if ichar >= '
13、;a' and ichar <= 'z':n = ord(ichar) + 2yn = (n - ord( 'a' ) ) % 26 ch=chr( ord( 'a' ) + yn ) elif ichar >= 'A' and ichar <= 'Z':n = ord(ichar) + 2yn = ( n - ord( 'A' ) ) % 26ch = chr( ord( 'A' ) + yn ) else:ch = icharmsg = msg + ch
14、out(msg)in()out()main()8 .修改下面程序使得其能运行正常。class Box:#Box 类def init(self, l, w, h):self.length = l self.width = w self.height = hdef volume():计算 Box 的体积return length * width * heightb = Box(4, 5, 6) print b.volume()四.程序填空(每空1分,共15分)1 .下列程序的作用是将输入的字符串中的每个字符的ASCII码形成一个列表。例如,输入为abcde时,输出为97, 98, 99, 100,
15、 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 = 0n1, n2 = len(lst1), len(lst2)while i1 < n1 and i2 < n2:# copy from lst1# copy from list2if lst1i1 < lst2i2: lst3i3
16、 = lst1i1i1 = i1 + 1else:lst3i3 = lst2i2 i2 = i2 + 1# item added to lst3whilelst3i3 = lst1i111 = i1 + 113 = i3 + 1whilelst3i3 = lst2i214 = i2 + 115 = i3 + 1def mergeSort(lst):n = len(lst)if m = n / 2lst1, lst2 = mergeSort(lst1) mergeSort(lst2) merge(lst1, lst2, lst)3 .下面程序的作用是显示输入的三个整数的最大值和最小值,请补充完整
17、。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 = cmain()4 .下面程序的作用是打印一个由随机字符(*或者#)组成的等腰三角形,
18、请补充完整。fromfrom string import *def main():lines=input("please input the lines of triangle:")for i in range(lines):character'for jif:mark='*'else:mark='#'print space+charactermain()五.程序设计(共20分)1.计算1-1/2+1/3-1/4+1/991/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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 图书批发商库存控制考核试卷
- 私募股权投资高端制造行业投资分析考核试卷
- 智能健身设备创新与市场分析考核试卷
- 2025科技部技术服务合同书范本
- 2025合同债务潜藏风险
- 2025年如何评估合同违约的财务影响
- 《2025聘请技术人才合同协议书》
- 2025电子产品购销合同范本模板
- 学校食堂食品安全0428
- 苏教版九年级语文(上)教案
- 共享菜园协议书5篇
- 人教版小学数学知识点总结大全
- 毕业设计(论文)-基于SolidWorks的厨余垃圾处理器设计
- 北师大版小学数学家长会发言稿范文
- GMP取样管理课件
- 安徽省普通高中2024学年学业水平合格性测试英语试题(原卷版)
- 《中国古代物理学》课件
- 《阿西莫夫短文两篇》-课件
- 培训机构教务管理岗位职责
- 各行业消防安全培训课件
- 书店承包经营合同2024版
评论
0/150
提交评论