上海交通大学python期末考试样题加解析
更新时间:2023-12-27 03:21:01 阅读量: 教育文库 文档下载
上 海 交 通 大 学 试 卷(A卷) ( 2010 至 2011 学年 第2学期 ) 班级号____________________ 学号__________ ____ 姓名 课程名称 程序设计思想和方法 成绩 一、选择题: 将唯一正确的选项写在题前括号中.每题2分. 【 】(1) 本课程的目标定位是什么? [A] 学习Python语言 [B] 学习计算机的工作原理 [C] 学习各种算法
[D] 学习用计算机解决问题
【 】(2) 下列哪个标识符是合法的? [A] var-name [B] !@#$% [C] _100 [D] elif
【 】(3) 执行下列语句后的显示结果是什么? >>> s = ”hi”
>>> print “hi”, 2*s
[A] hihihi [B] ”hi”hihi [C] hi hihi [D] hi hi hi
【 】(4) 如何解释下面的执行结果? >>> print 1.2 - 1.0 == 0.2 False
[A] Python的实现有错误 [B] 浮点数无法精确表示
[C] 布尔运算不能用于浮点数比较 [D] Python将非0数视为False
【 】(5) 想用一个变量来表示出生年份,下列命名中哪个最可取?
[A] b_y [B] birth_year [C] __birthYear__ [D] birthyear
【 】(6) 执行下列语句后的显示结果是什么? >>> a = 1
>>> b = 2 * a / 4 >>> a = “one” >>> print a,b [A] one 0 [B] 1 0 [C] one 0.5 [D] one,0.5
【 】(7) 执行下列语句后的显示结果是什么? >>> s = ”GOOD MORNING” >>> print s[3:-4] [A] D MOR [B] D MORN [C] OD MOR [D] OD MORN
A 卷 总 5 页 第 1 页
我承诺,我将严 格遵守考试纪律。 得分 承诺人: 批阅人(流水阅 卷教师签名处) 题号 【 】(8) 表达式1+2L*3.14>0的结果类型是: [A] int [B] long [C] float [D] bool
【 】(9) 程序设计的原型(Prototyping)方法是指: [A] 先设计程序框架结构,再逐步精化细节 [B] 先设计类,再实例化为对象
[C] 先设计简单版本,再逐步增加功能 [D] 以上都不是
【 】(10) 对n个数做归并排序(merge sort),这个算法是: [A] logn时间的 [B] 线性时间的 [C] nlogn时间的 [D] n2时间的
二、判断题:在题目前面的括号中打勾或叉.每题2分.
【 】(1) 高级语言程序要被机器执行,只有用解释器来解释执行.
【 】(2) 不同类型的数据不能相互运算.
【 】(3) 由于引号表示字符串的开始和结束,所以字符串本身不能包含引号.
【 】(4) 计算机科学并非研究计算机的科学,正如天文学并非研究望远镜.
【 】(5) 算法和程序是不同的概念.
【 】(6) 下面的程序段是错的: temp = 42
print \
【 】(7) 同一Python变量可以先后赋予不同类型的值.
【 】(8) 计算机的计算是确定的,因此并不能真正产生随机数.
【 】(9) 对象就是类的实例.
【 】(10) Hanoi塔问题属于不可解问题.
A 卷 总 5 页 第 2 页
三、填空题:每题2分.
(1) 表达式2**3*4%5的值为: .
(2) 函数range(1,1,1)的值是: .
(3) 格式化输出浮点数: 宽度10,2位小数,左对齐,则格式串为: .
(4) 表达式chr(ord(?a?))的值为: .
(5) 表达式((2>=2) or (2<2)) and 2的值为: .
(6) 无穷循环while True:的循环体中可用 语句退出循环.
(7) 不用math模块中的sqrt(), 如何计算4的平方根: .
(8) 给出一个计算机本质上不可解问题的例子: .
(9) 表达式?%d%%%d?%(1%2,3%4)的值为: .
(10) Python的标准随机数生成器模块是: .
四、读程序并回答问题:每题5分.
(1) 下面的程序根据用户输入的三个边长a,b,c来计算三角形面积.请找出程序中的错误并改正之.(设用户输入合法,面积公式无误) import math
a, b, c = raw_input(“Enter a,b,c: ”) s = a + b + c s = s / 2.0
area = sqrt(s*(s-a)*(s-b)*(s-c)) print “The area is:”, area
将raw_input 改成 input 将sqrt改成 math.sqrt
(2) 下面的程序要求用户输入二进制数字0/1并显示之.找出程序中的错误并改正之. bit = input(“Enter a binary digit: “) if bit = 0 or 1:
print “Your input is:”, bit else
print “Your input is invalid.”
将 bit = 0 or 1 改成bit == 0 or bit== 1 将else改成else:
A 卷 总 5 页 第 3 页
(3) 下面程序的输出是什么? def f(a, b, c):
x = y = 0
for i in range(c): x = x + a + y
y = y + b return x
print f(-5, 2, 10)
注意return x 在for 的缩进里面,所以最后只有一个数据输出 range(10)其实是从0开始计数到9 再不断迭代即可 40
(4) 下面程序的输出是什么? def f(a,b):
a = 4
print a, b def main():
a = 5 b = 6
print a, b f(a,b)
print a, b
main() 56 46 56
(5) 下面程序的功能是什么? def f(a, b):
if b == 0: print a
else:
f(b, a%b)
a, b = input(“Enter two natural numbers: ”) print f(a, b)
求最大公因式
A 卷 总 5 页 第 4 页
五、程序设计:15分.
(1) 用分而治之(divide and conquer)和递归方法设计程序:产生并打印一个序列的全排列.
例如,序列[1,2,3]的全排列123,132,213,231,312,321可以这样获得:
1为前缀, 后接[2,3]的全排列 2为前缀, 后接[1,3]的全排列 3为前缀, 后接[1,2]的全排列 而[2,3]等序列的全排列依此类推.
下面给出了这个程序的部分代码,在理解上述算法的基础上补足所缺的代码. # 函数perm(list,k,m):产生前缀为list[0:k]后接list[k:m+1]的全排列 def perm(list,k,m):
if k == m: for i in range(m+1)① : print list[i], print else:
for i in range(k,m+1) ② : list[k],list[i] = list[i],list[k] perm(list,k+1,m) ③ list[k],list[i] = list[i],list[k] myList = input(“Input a list([1,2,3,...]): “) perm(myList,0, len(myList)-1 ④ )
(2) 编写程序: 输入一个文件A, A中每行包含若干数值.生成文件B, B中每行是A中对应行的数值的平均值. Import string
fileA = raw_input(“Enter a data file: ”) infile = open(fileA,?r?) outfile = open (?B.dat?,?w?)
line = infile.readline() while line != “”: sum = 0.0 count = 0 for xStr in string.split(line): sum = sum + eval(xStr) count = count + 1 avg = sum/count outfile.write(str(avg)+?n?) line = infile.readline()
infile.close() outfile.close()
A 卷 总 5 页 第 5 页
正在阅读:
中国炼焦煤资源的分布特征04-23
医学术语中的复数形式04-18
面试中遇到问题11-04
2018传染病学主治医师专业知识大纲03-21
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 上海交通大学
- 试样
- 期末
- 解析
- python
- 大一上学期计算机导论期末复习选择题
- 2013年度教育部哲学社会科学研究重大课题攻关项目招标课题指南
- 2018年《超声医学与技术》重点题(七)
- 工程造价形考1-4题目
- 噶米城市道路施工图设计中的块石挡土墙设计注意事项(43个要点)
- 新闻采访复习资料
- 高端葡萄酒品牌塑造战略规划及市场营销全案审定完整版
- 2015最新苏教版六年级下册第七单元总复习完整版教案
- 实验三 组合逻辑电路
- 北师大版小学六年级数学上册知识点
- 浅析高校会计专业教师的社会服务能力
- 2019-2020学年重庆市永川中学片区教研共同体七年级(上册)期中数学试卷(解析版).doc
- 建筑安装工程类别划分标准及说明
- 七年级数学上册 5.1认识一元一次方程导学案1北师大版
- 2019年最新党员进寝室总结范文:党员进寝室 助新生成长
- 七年级数学用字母表示数单元测试题2
- 中国铬黄市场深度分析与发展前景预测报告(2015-2020)
- 天心ERP标准实施方案
- 2014年银行从业资格考试全套实战模拟题
- 2020高考数学大一轮复习三角函数、解三角形课下层级训练16任意角、弧度制及任意角的三角函数(含解析)