上海交大2011 - 2012程序设计python期末考试题
更新时间:2024-03-25 06:53:01 阅读量: 综合文库 文档下载
一. 选择题: 将唯一正确的选项写在题前括号中(每题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,'a','b','c','d','e'] print lista[2] + lista[5]
A.100
B.'d' C.d
D.TypeEror
【 】4.下面的循环体执行的次数与其它不同的是: A. i = 0
while( i <= 100): print i, i = i + 1
B. 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.先设计类,再实例化为对象。
C.解决方案用若干个较小问题来表达,直至小问题很容易求解。 D.先设计简单版本,再逐步增加功能。
【 】6.简单变量作为实参时,它和对应的形参之间数据传递方式是: A.由形参传给实参 B.由实参传给形参 C.由实参传给形参,再由形参传给实参 D.由用户指定传递方向 【 】7.以下说法不正确的是:
A.在不同函数中可以使用相同名字的变量。
B.函数可以减少代码的重复,也使得程序可以更加模块化。
C.主调函数内的局部变量,在被调函数内不赋值也可以直接读取。 D.函数体中如果没有return语句,也会返回一个None值。 【 】8.关于list和string下列说法错误的是: A.list可以存放任意类型。
B.list是一个有序集合,没有固定大小。
C.用于统计string中字符串长度的函数是string.len()。 D.string具有不可变性,其创建后值不能改变。 【 】9.下面问题属于计算机本质上不可解问题的是:
第 1 页 共 9页
A.Hanoi塔问题 B.排序问题 C.求阶乘 D.Halting问题
【 】10.python语言定义的class的初始化函数的函数名是:
A.init B.__init__ C.__init D.init__
【 】11.已知x = 43,y = False;则表达式(x >= y and 'A' < 'B' and not y)的值是:
A.False
B.语法错
C.True
D.\假\
【 】12.对n个数做归并排序(merge sort),这个算法是: A.nlogn时间的 B.线性时间的 C.logn时间的 D.n2时间的 【 】13.下面不是计算思维的特征的是:
A.概念化 B.数学与工程思维的融合 C.面向所有的人 D.计算机的思维 【 】14.执行下面操作后,list2的值是:
list1 = [4,5,6] list2 = list1 list1[2] = 3
A.[4,5,6] B.[4,3,6] C.[4,5,3] D.A,B,C都不正确 【 】15.下列合法的变量名是: A.main( ) B.car2 C.2car D.var-name
第 2 页 共 9页
二.概念填空(每空1分,共10分)
1.表达式eval(\的结果是 。
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 = \ c\
print string.split(3 * s)
6. 、 、 是科技创新的三大支柱。 7.无穷循环while True:的循环体中可用 语句退出循环。
三.阅读程序并回答问题(每题5分,共40分)
1.当输入是54321时,写出下面程序的执行结果。 def main():
num = input(“请输入一个整数:”) while num != 0: print num % 10 num = num / 10 main()
2.写出下面程序的执行结果。
a = [1, 20, 32, 14, 5, 62, 78, 38, 9, 10] for i in range(9):
if( a[i] > a[i+1] ):
a[i], a[i+1] = a[i+1], a[i]
print a
3.写出下面程序的执行结果。 def main():
lst = [2, 4, 6, 8, 10] lst = 2 * lst
lst[1], lst[3] = lst[3], lst[1] swap(lst, 2, 4)
for i in range(len(lst) - 4): print lst[i], \def swap(lists, ind1, ind2):
lists[ind1], lists[ind2] = lists[ind2], lists[ind1] main()
4.写出下面程序的执行结果。 import string
第 3 页 共 9页
def main():
s = \ s = string.lower(s) alist = [] countlist = [] count=0
for i in range( len(s) ):
if (ord(s[i]) <= ord('Z') and ord(s[i]) >= ord('A')) \\ or (ord(s[i]) <= ord('z') and ord(s[i]) >= ord('a')): if (s[i] in alist):
sign = alist.index(s[i]) countlist[sign] += 1 else:
alist.append(s[i]) countlist.append(1) count += 1 for i in range(count):
print alist[i], \main()
5.阅读下面程序 def fact(n)
def main()
print fact(5)
请问该程序是否正确?如果正确的话,请写出运行结果;如果不正确,则修改程序并写出相应运行结果。
6.下面程序是为了在屏幕上显示10个相同形状的长方形。 from graphics import * def main():
win = GraphWin(200,200)
shape = Rectangle( Point(20,20), Point(30,40) ) shape.setOutline(\ shape.setFill(\ shape.draw(win) sList = []
sList.append(shape)
for i in range(1,10): p = win.getMouse()
return n * fact(n-1)
第 4 页 共 9页
c = sList[i-1].getCenter() dx = p.getX() - c.getX() dy = p.getY() - c.getY()
win.getMouse() win.close() main()
请问该程序是否正确?如果不正确,请修改程序。
第 5 页 共 9页
7.写出下面程序的功能。假设文件“original”内容为 Upgrc y npmepyk. Write a program.
那么文件“savetoo”内存储的内容应该是什么? import string def main():
print \ infile = open(\ outfile = open(\ msg = \
for strstr in infile.readlines(): for ichar in strstr:
if ichar >= 'a' and ichar <= '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(msg) 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 * height
b = Box(4, 5, 6) print b.volume()
第 6 页 共 9页
四. 程序填空(每空1分,共15分)
1.下列程序的作用是将输入的字符串中的每个字符的ASCII码形成一个列表。例如,输入为abcde时,输出为[97, 98, 99, 100, 101]。请补充完整。 def main():
str = raw_input(“请输入一个字符串:”) output = []
for i in range( ): num = output. (num) print output main()
2.请补充完整mergesort程序。 def merge(lst1, lst2, lst3): i1 = i2 = i3 = 0
n1, n2 = len(lst1), len(lst2) while i1 < n1 and i2 < n2:
if lst1[i1] < lst2[i2]: # copy from lst1 lst3[i3] = lst1[i1] i1 = i1 + 1
else: # copy from list2 lst3[i3] = lst2[i2] i2 = i2 + 1
# item added to lst3 while lst3[i3] = lst1[i1] i1 = i1 + 1 i3 = i3 + 1 while lst3[i3] = lst2[i2] i2 = i2 + 1 i3 = i3 + 1
def mergeSort(lst): n = len(lst)
if m = n / 2
lst1, lst2 = mergeSort(lst1) mergeSort(lst2) merge(lst1, lst2, lst)
第 7 页 共 9页
3.下面程序的作用是显示输入的三个整数的最大值和最小值,请补充完整。 def main():
x,y,z = input(\ max,min = f(x,y,z)
print \
def f(a,b,c):
if (b>max): max = b if (c>max): max = c if (b main() 4.下面程序的作用是打印一个由随机字符(* 或者 #)组成的等腰三角形,请补充完整。 from from string import * def main(): lines=input(\ for i in range(lines): character='' for j : if : mark='*' else: mark='#' print space+character main() 第 8 页 共 9页 五. 程序设计(共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): small You are wrong. Please input your guess(big/small): dfdfd Please input your guess(big/small): big You are right. Please input your guess(big/small): big You are wrong. You lost this round Play again?(y/n): ddd Play again?(y/n): n You played 1 rounds, and you won 0 rounds 要求:尽可能用到模块化程序设计的思想。(15分) 第 9 页 共 9页
正在阅读:
上海交大2011 - 2012程序设计python期末考试题03-25
总结的现当代笔记11-26
以学论教,进退有度10-09
剑桥雅思4听力 word标注版10-08
网络工程与组网技术题目二课程设计03-08
2015年农业主导品种和主推技术12-27
财务管理综合练习(含论述题)12-27
水电站水轮发电机定子线圈嵌装07-08
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 考试题
- 上海交大
- 程序设计
- 期末
- python
- 2011
- 2012
- 说课稿范例(英语课)终极版
- 人教版七年级、八上美术测试题 - 图文
- 家庭理财文献综述(1)
- 监控量测专项施工方案
- 通信工程专业概论
- 公告书之女装店铺公告怎么写
- 二手房买卖合同签订时注意事项
- 仪表及控制系统联调联校方案
- 江苏省物业服务收费管理办法(新 - 2014实施)
- 家庭装修验收单(泥工、木工、漆工、水电工)
- 第五届全国大学生交通科技大赛作品汇总公告
- 第12章 人体的自我调节 本章测试(北师大版七年级下)(1)
- 七年级下册期中古诗词复习
- 给省厅卫生工作调研汇报材料2011.11.7张局长确定稿件
- 中考找规律专题复习讲解
- 社区卫生服务中心主任述职报告
- 六年级奥数阶段性测试(1)
- 中国地质大学长城学院 地质英语 论文
- 机动车检验机构检查表
- 2016-2021年中国组合式化粪池市场深度调研及投资策略分析报告(