上海交大2011-2012 Python程序设计期末考试精选题集

版权申诉
0 下载量 75 浏览量 更新于2024-09-07 收藏 24KB DOCX 举报
本资源是一份上海交通大学2011-2012学年程序设计Python期末考试题目文档。这份试卷包含10道选择题,主要考察学生对Python编程语言基础知识的理解和应用能力。以下是各题目的详细解析: 1. 选择题第1题测试了字符串格式化和运算符优先级的理解。选项A和B表示格式化输出错误,选项C和D是表达式的混合,而%d表示整数输出,%操作符用于格式化,因此3/4的计算结果会先于3%4,但表达式中使用'%'符号不会进行数学运算,所以正确答案可能是'A'或'B',但具体取决于Python解释器如何处理。 2. 第2题考查Python保留字,选项A、B、D是保留字,用于控制流程,C选项'init'通常用于类的初始化,不是保留字,故正确答案是C。 3. 题目3测试列表和字符串操作。'lista'中尝试将字符串相加,'a'和''b的索引分别是2和5,但'+'在Python中用于连接字符串,而非数字相加,因此输出应为'b',选项B正确。 4. 第4题考察不同循环结构的执行次数。A选项的while循环会执行101次,B选项for循环执行100次,C选项倒序执行100次,D选项执行100次但每次i递减,直到i变为0,总次数也是100次。不同之处在于循环终止条件,D选项独特。 5. 第5题涉及软件工程中的设计原则,选项C符合自顶向下逐步求精(Top-Down Design),即从整体分解为小问题逐步解决。 6. 第6题讨论参数传递方式,简单变量作为实参,与形参的数据传递是单向的,由实参传给形参,选项B正确。 7. 第7题中,A选项正确,函数可以在不同作用域中重名;B选项强调函数的作用,正确;C选项错误,主调函数的局部变量不会自动传递给子函数;D选项,如果函数无return语句,确实会返回None。 8. 对于选项8,A和D描述了list(列表)和tuple(元组)的特点,list是动态大小且可变的,tuple是有序的不可变序列,A正确,D错误。C选项应为len(),用于统计字符串长度。 9. 问题9考察算法复杂性和计算机科学的基础理论,D选项Halting问题是判定问题,由于计算理论中的奇异性,无法通过算法确定一个程序是否会无限运行下去,是不可解问题。 10. 最后一题,Python中定义类的初始化函数通常称为构造函数,其函数名是__init__,选项A正确。 总结:这份试卷全面检验了学生对Python语言语法、数据类型、控制结构、函数概念以及基本算法理解的掌握程度,对于提高程序设计基础和逻辑思维能力非常有帮助。
2023-06-10 上传