上海交通大学python期末考试样题加解析

更新时间:2023-05-09 19:46:34 阅读: 评论:0

上海交通大学python期末考试样题加解析
上 海 交 通 大 学 试 卷(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  -  ==  Fal
[A] Python的实现有错误
[B] 浮点数无法精确表示
[C] 布尔运算不能用于浮点数比较
[D] Python将非0数视为Fal
【 】(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  [D] one,
【 】(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*>0的结果类型是:
[A] int [B] long [C] float [D] bool
【 】(9) 程序设计的原型(Prototyping)方法是指:
[A] 先设计程序框架结构,再逐步精化细节
[B] 先设计类,再实例化为对象
[C] 先设计简单版本,再逐步增加功能
[D] 以上都不是
【 】(10) 对n个数做归并排序(merge sort),这个算法是:
2[A] logn时间的 [B] 线性时间的 [C] nlogn时间的 [D] n时间的
二、判断题:在题目前面的括号中打勾或叉.每题2分.
【 】(1) 高级语言程序要被机器执行,只有用解释器来解释执行.
【 】(2) 不同类型的数据不能相互运算.
【 】(3) 由于引号表示字符串的开始和结束,所以字符串本身不能包含引号.
【 】(4) 计算机科学并非研究计算机的科学,正如天文学并非研究望远镜.
【 】(5) 算法和程序是不同的概念.
【 】(6) 下面的程序段是错的: temp = 42
print "The temperature is" + temp
【 】(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 / 
area = sqrt(s*(s-a)*(s-b)*(s-c)) print “The area is:”, area
将raw_input 改成 input
将sqrt改成 
(2) 下面的程序要求用户输入二进制数字0/1并显示之.找出程序中的错误并改正之. bit = input(“Enter a binary digit: “)
if bit = 0 or 1:
print “Your input is:”, bit
el
print “Your input is invalid.”
将 bit = 0 or 1 改成bit == 0 or bit== 1 将el改成el:
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 再不断迭代即可

本文发布于:2023-05-09 19:46:34,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/875706.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:程序   计算机   问题   下列   语句
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图