上海交大2011-2012程序设计python期末考试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
.选择题:将唯一正确的选项写在题前括号中(每题 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 语言的保留字的是:
】3.以下程序的输出结果是(提示:
lista = [1 , 2, 3, 4, 5, 'a', 'b',
'c', print lista[2] + lista[5]
D . Typ eEror 】4.下面的循环体执行的次数与其它不同的是:
while( i <= 100): print i, i = i + 1
for i in ran ge(100):
print i,
for i in ran ge(100, 0, -1):
print i,
i = 100
while(i > 0):
print i,
i = i -1
】5.自顶向下逐步求精的程序设计方法是指
:
A .将一个大问题简化为同样形式的较小问题。
B .先设计类,再实例化为对象。
C .解决方案用若干个较小问题来表达,直至小问题很容易求解。
D .先设计简单版本,再逐步增加功能。
】6.简单变量作为实参时,它和对应的形参之间数据传递方式是:
A .由形参传给实参
C .由实参传给形参,再由形参传给实参 】7.以下说法不正确的是:
A .在不同函数中可以使用相同名字的变量。
B .函数可以减少代码的重复,也使得程序可以更加模块化。
C .主调函数内的局部变量,在被调函数内不赋值也可以直接读取。
D .函数体中如果没有 return 语句,也会返回一个 None 值。
】8关于list 和string 下列说法错误的是:
A . list 可以存放任意类型。
B . list 是一个有序集合,没有固定大小。
C .用于统计string 中字符串长度的函数是 string.len()。
D . string 具有不可变性,其创建后值不能改变。
A . continue
B . except
C . init
D . pass
ord (' a ') ==97): 'd', 'e']
B . 'd' A . 100 B .由实参传给形参 D .由用户指定传递方向
】 9.下面问题属于计算机本质上不可解问题的是: A . Hanoi 塔问题 B .排序问题 C .求阶乘 】10. python 语言定义的 class 的初始化函数的函数名是: A . init D .Halting 问题 】11.已知 B . __in it x = 43, y = False ; C . __init D . in it 则表达式 (x >= y and 'A' < 'B' and not y) 的值是: B .语法错 】 12.对 n 个数做归并排序 ( merge sort) ,这个算法是: A . nlogn 时间的 B .线性时间的 C . logn 时间的 】 13.下面不是计算思维的特征的是:
A .概念化
B .数学与工程思维的融合
】 14.执行下面操作后, list2 的值是:
A . Fals e C . Tru e D . n 2 时间的 C .面向所有的人 D .计算机的思维
list1 =
[4,5,6]
list2 =
list1 list1[2] = 3
A . [4,5,6]
B . [4,3,6]
】 15.下列合法的变量名是: C . [4,5,
3]
D . A,B,C 都不正确 A . main( ) B . car 2 C . 2ca
r
D . 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)的输出结果是: s = "bb c"
print stri ng.s plit(3 * s)
三.阅读程序并回答问题(每题 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 ran ge(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]
s, 2, 4)
for i in ran ge(le n(lst) - 4):
prin t lst[i],""
def s, i nd1, i nd2):
lists[i nd1], lists[i nd2] = lists[i nd2], lists[i nd1] main ()
第3页共9页
3. 4. 5. 计算的本质是 ______________ 和 _______________
执行 print 1.3 - 1 == 0.3,结果是False 的原因是
下面语句的执行结果是 ________________________
6.
7. 无穷循环while True:的循环体中可用 是科技创新的三大支柱。 _____________ 语句退出循