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

合集下载

python期末试卷试题及答案

python期末试卷试题及答案

python期末试卷试题及答案一、选择题(每题10分,共20题)1.以下哪个是Python的关键字?A. mainB. forC. whileD. switch答案:B2.Python中用来定义一个函数的关键字是:A. defB. functionC. defineD. func答案:A3.Python中可以表示真或假的两个特殊值是:A. true 和 falseB. yes 和 noC. on 和 off答案:A4.以下关于Python列表的描述正确的是:A. 列表内的元素可以是不同类型的B. 列表内的元素只能是相同类型的C. 列表内的元素不能修改D. 列表内的元素是有序的答案:A5.Python中用来读取用户输入的函数是:A. input()B. print()C. read()D. scan()答案:A6.Python中的循环语句是:A. forB. whileC. loop答案:A、B7.Python中用来分割字符串的方法是:A. split()B. strip()C. slice()D. divide()答案:A8.Python中用来连接字符串的符号是:A. +B. -C. *D. /答案:A9.Python中的if语句后面要加上:A. 逗号B. 冒号C. 分号答案:B10.Python中用来定义一个类的关键字是:A. defB. classC. funcD. object答案:B二、填空题(每题10分,共5题)1.Python的注释符号是_________。

答案:#2.Python的逻辑与运算符是_________。

答案:and3.Python中用来取绝对值的方法是_________。

答案:abs()4.Python中用来计算列表长度的函数是_________。

答案:len()5.Python中用来获取用户输入的函数是_________。

答案:input()三、简答题(每题20分,共4题)1.请简要概述Python的特点。

python期末考试题及答案详解

python期末考试题及答案详解

python期末考试题及答案详解Python期末考试题及答案详解一、选择题(每题2分,共20分)1. 下列哪个是Python的内置数据类型?A. ListB. ArrayC. SetD. Vector答案:A2. Python中的函数定义关键字是什么?A. defineB. functionC. methodD. procedure答案:B3. 在Python中,哪个操作符用于获取列表中元素的长度?A. len()B. size()C. count()D. length()答案:A4. 下列哪个语句可以遍历列表中的每个元素?A. for item in listB. for item = listC. for list in itemD. for item = 0 to list答案:A5. 在Python中,哪个关键字用于定义类?A. classB. typeC. structD. object答案:A6. 下列哪个是Python中的异常处理语句?A. try-exceptB. if-elseC. switch-caseD. while-do答案:A7. 在Python中,如何将整数转换为字符串?A. int_to_str()B. str()C. to_string()D. string()答案:B8. 下列哪个是Python的文件操作模式,用于写入?A. 'r'B. 'w'C. 'a'D. 'rb'答案:B9. Python中的列表推导式是用于什么?A. 循环遍历列表B. 列表排序C. 创建列表D. 列表去重答案:C10. 下列哪个是Python的装饰器语法?A. @functionB. function()C. @decoratorD. decorator()答案:C二、简答题(每题5分,共30分)1. 请简述Python中列表和元组的区别。

python大学生期末考试题库及答案

python大学生期末考试题库及答案

python大学生期末考试题库及答案一、选择题(每题2分,共20分)1. Python中用于定义类的关键字是:A. functionB. defC. classD. struct答案:C2. 下列哪个选项是Python中的布尔类型?A. intB. boolC. floatD. str答案:B3. 在Python中,用于创建空集合的语法是:A. set()B. {}C. []D. ()答案:A4. 下列哪个选项不是Python中的内置函数?A. len()B. print()C. range()D. map()答案:D5. 在Python中,用于定义一个函数的关键字是:A. functionB. defC. classD. struct答案:B6. Python中用于实现循环的关键字是:A. forB. whileC. repeatD. loop答案:A7. 下列哪个选项是Python中的列表推导式?A. [x for x in range(10)]B. {x for x in range(10)}C. (x for x in range(10))D. x for x in range(10)答案:A8. 在Python中,用于交换两个变量值的方法是:A. a = bB. a, b = b, aC. a = a + bD. a = a - b答案:B9. 下列哪个选项是Python中的异常处理结构?A. try...exceptB. if...elseC. for...inD. while...do答案:A10. 在Python中,用于定义一个空字典的语法是:A. {}B. []C. ()D. set()答案:A二、填空题(每题2分,共20分)1. Python中的“==”用于______。

答案:比较2. 在Python中,使用______关键字可以定义一个函数。

答案:def3. Python中用于定义列表的语法是______。

大学Python期末考试试题带答案

大学Python期末考试试题带答案

大学Python期末考试试题带答案一、选择题1. 下列哪个是Python的整数除法符号?a. %b. //c. /d. *答案:b. //2. 在Python中,以下哪个是合法的变量名?a. 2myVarb. my_varc. my-vard. my var答案:b. my_var3. 下列哪个关键字用于定义一个函数?a. returnb. ifc. defd. for答案:c. def4. 在Python中,以下哪个是用于打开文件的关键字?a. closeb. fetchc. opend. save答案:c. open5. 以下哪种数据类型不能被修改?a. listb. tuplec. dictionaryd. set答案:b. tuple二、填空题1. 完成下列代码,使其输出"Hello, World!"。

print(_____)答案:print("Hello, World!")2. 创建一个名为`my_list`的空列表。

答案:my_list = []3. 完成下列代码,使其输出字典中键值对的数量。

my_dict = {"a": 10, "b": 20, "c": 30}print(_____)答案:print(len(my_dict))4. 编写一个`for`循环,打印出列表`my_list`中的每个元素。

my_list = [1, 2, 3, 4, 5]for item in my_list:print(_____)答案:print(item)5. 完成下列代码,使其将输入的字符串转换为大写并打印输出。

input_str = input("请输入字符串:")print(_____)答案:print(input_str.upper())三、简答题1. 请简要介绍Python的特点。

python期末试题及答案解析

python期末试题及答案解析

python期末试题及答案解析一、选择题1. Python中,以下哪个是合法的变量名?A) 123varB) forC) var123D) break答案:C) var123解析:变量名必须以字母或下划线开头,后接字母、数字或下划线。

2. 下列函数定义中,哪个函数是一个递归函数?A) def fact(n):if n == 0:return 1else:return n * fact(n-1)B) def fib(n):if n <= 1:return nelse:return fib(n-1) + fib(n-2)C) def sum_list(lst):if len(lst) == 0:return 0else:return lst[0] + sum_list(lst[1:])D) def is_prime(n):if n <= 1:return Falseelse:for i in range(2, n):if n % i == 0:return Falsereturn True答案:A) def fact(n):...解析:递归函数是指在函数定义中调用函数自身的函数。

3. Python中,以下哪个数据类型是有序的?A) listB) setC) tupleD) dictionary答案:C) tuple解析:tuple是有序的,而list、set和dictionary都是无序的。

二、填空题1. 下列Python代码的输出结果是________。

nums = [1, 2, 3, 4, 5]squares = [x**2 for x in nums]print(squares)答案:[1, 4, 9, 16, 25]解析:代码使用列表推导式计算nums中每个元素的平方,并将结果存储在列表squares中。

最终输出结果为[1, 4, 9, 16, 25]。

2. 完成下列代码,实现将字典中键值对按照值降序排序,并返回排序后的键列表。

大一python语言期末考试题及答案

大一python语言期末考试题及答案

大一python语言期末考试题及答案一、选择题(每题2分,共20分)1. Python中用于定义类的关键字是:A. classB. functionC. defD. struct答案:A2. 下列哪个选项是Python中的合法标识符?A. 2variableB. variable2C. variable-2D. variable_2答案:D3. Python中的列表和元组有什么区别?A. 列表可以修改,元组不可以B. 列表可以修改,元组可以C. 列表不可以修改,元组可以D. 列表和元组都可以修改答案:A4. 在Python中,以下哪个操作符用于比较两个值是否不相等?A. ==B. !=C. =D. <>答案:B5. Python中,以下哪个函数用于将字符串转换为小写?A. lower()B. upper()C. capitalize()D. swapcase()答案:A6. 下列哪个选项是Python中的真值?A. 0B. NoneC. []D. True答案:D7. 在Python中,以下哪个关键字用于定义函数?A. classB. functionC. defD. struct答案:C8. Python中,以下哪个函数用于计算一个数的平方根?A. sqrt()B. square()C. pow()D. root()答案:A9. 在Python中,以下哪个选项是正确的字典定义方式?A. dict = {'key1': 'value1', 'key2': 'value2'}B. dict = ('key1': 'value1', 'key2': 'value2')C. dict = [key1: 'value1', key2: 'value2']D. dict = {key1, key2: 'value1', 'value2'}答案:A10. Python中,以下哪个模块用于生成随机数?A. randomB. randintC. randomizeD. rand答案:A二、填空题(每题2分,共20分)1. Python中的字符串可以使用_________来连接。

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

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

一、选择题: 将唯一正确的选项写在题前括号中.每题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.2False[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【】(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] log n时间的[B] 线性时间的[C] n log n时间的[D] n2时间的二、判断题:在题目前面的括号中打勾或叉.每题2分.【】(1) 高级语言程序要被机器执行,只有用解释器来解释执行. 【】(2) 不同类型的数据不能相互运算. 【】(3) 由于引号表示字符串的开始和结束,所以字符串本身不能包含引号. 【】(4) 计算机科学并非研究计算机的科学,正如天文学并非研究望远镜. 【】(5) 算法和程序是不同的概念.【】(6) 下面的程序段是错的: temp = 42print "The temperature is" + temp【】(7) 同一Python变量可以先后赋予不同类型的值. 【】(8) 计算机的计算是确定的,因此并不能真正产生随机数. 【】(9) 对象就是类的实例. 【】(10) Hanoi塔问题属于不可解问题.三、填空题:每题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 matha, b, c = raw_input(“Enter a,b,c: ”)s = a + b + cs = s / 2.0area = 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:”, bitelseprint “Your input is invalid.”将 bit = 0 or 1 改成bit == 0 or bit== 1将else改成else:(3) 下面程序的输出是什么?def f(a, b, c):x = y = 0for i in range(c):x = x + a + yy = y + breturn xprint f(-5, 2, 10)注意return x 在for 的缩进里面,所以最后只有一个数据输出range(10)其实是从0开始计数到9再不断迭代即可40(4) 下面程序的输出是什么?def f(a,b):a = 4print a, bdef main():a = 5b = 6print a, bf(a,b)print a, bmain()564656(5) 下面程序的功能是什么?def f(a, b):if b == 0:print aelse:f(b, a%b)a, b = input(“Enter two natural numbers: ”)print f(a, b)求最大公因式五、程序设计: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:print list[i],printelse:myList = input(“Input a list([1,2,3,...]): “)(2) 编写程序: 输入一个文件A, A中每行包含若干数值.生成文件B, B中每行是A中对应行的数值的平均值.Import stringfileA = raw_input(“Enter a data file: ”)infile = open(fileA,’r’)outfile = open (‘B.dat’,’w’)line = infile.readline()while line != “”:sum = 0.0count = 0for xStr in string.split(line):sum = sum + eval(xStr)count = count + 1avg = sum/countoutfile.write(str(avg)+’n’)line = infile.readline()infile.close()outfile.close()。

python期末复习题库加解析

python期末复习题库加解析

python期末复习题库加解析Python期末复习题库加解析一、选择题1. 在Python中,以下哪个是正确的字符串表示方法?A. 'Hello World'B. "Hello World"C. `Hello World`D. A和B都是答案:D2. Python中的列表(list)是:A. 有序的B. 可变的C. 有序且可变D. 无序且不可变答案:C3. 下列哪个是Python中的关键字?A. ifB. listC. classD. None答案:A4. Python中,以下哪个表达式的结果为True?A. 3 > 5B. 5 == 5C. 'apple' > 'banana'D. 'apple' == 'apple'答案:B和D5. 在Python中,如何实现函数的定义?A. def function_name(parameters):B. function_name(parameters):C. function function_name(parameters):D. None of the above答案:A二、填空题1. 在Python中,用于定义类的方式是使用关键字________。

答案:class2. Python中的________函数可以用于将字符串转换为列表。

答案:split()3. 如果要将列表转换为字符串,可以使用________方法。

答案:join()4. 在Python中,使用________关键字可以创建一个空字典。

答案:{}5. Python中的________函数用于计算两个或多个数字的乘积。

答案:reduce() 或者 operator.mul三、简答题1. 请简述Python中的列表推导式是什么,并给出一个例子。

答案:列表推导式是Python中一种简洁的构建列表的方法,它允许你从一个序列或迭代器中创建一个新的列表。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

上 海 交 通 大 学 试 卷( 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 【 】 (4) 如何解释下面的执行结果 ? >>> print 1.2 - 1.0 == 0.2
False
[A] Python 的实现有错误
[B] 浮点数无法精确表示
[C] 布尔运算不能用于浮点数比较
[D] Python 将非 0 数视为 False
】 (5) 想用一个变量来表示出生年份 , 下列命名中哪个最可取 ?
【 】 (6) 执行下列语句后的显示结果是什么
>>> a = 1
>>> b = 2 * a / 4
>>> a = “one ” >>> print a,b
[A] one 0 [B] 1 0 [C] one 0.5 【 】 (7) 执行下列语句后的显示结果是什么 >>> s
= ”GOOD MORNING ” >>> print s[3:-4]
[A] b_y [B] birth_year
[C] __birthYear__ [D] birthyear [A] D MOR [B] D MORN [C] OD MOR [D] OD MORN
[D] hi hi hi
[D] one,0.5
】(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] log n 时间的[B] 线性时间的[C] nlog n 时间的[D] n2时间的
二、判断题: 在题目前面的括号中打勾或叉. 每题 2 分.
】(1) 高级语言程序要被机器执行, 只有用解释器来解释执行.
】(2)
不同类型的数据不能相互运算.
】(3)
由于引号表示字符串的开始和
结束
, 所以字符串本身不能包含
引号
】(4)
计算机科学并非研究计算机的
科学
, 正如天文学并非研究望远


(5) 算法和程序是不同的概念.
】(6) 下面的程序段是错的:
temp = 42
print "The temperature is" + temp
】(7) 同一Python 变量可以先后赋予不同类型的值.
】(8) 计算机的计算是确定的, 因此并不能真正产生随机数】(9) 对象就是类的实例.
】(10) Hanoi 塔问题属于不可解问题.
三、填空题: 每题 2 分. 表达式2**3*4%5
的值为:
(1)
(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)下面的程序根据用户输入的三个边长之.( 设用户输入合法, 面积公式无误) 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))
“”a,b,c 来计算三角形面积. 请找出程序中的错误并改正

将raw_input 改成input
将sqrt 改成math.sqrt
(2)下面的程序要求用户输入二进
制数字bit = input( “Enter a
binary digit:
if bit = 0 or 1:
print “Your input is: ”,
bit
else
0/1 并显示之. 找出程序中的错误并改正之
将bit = 0 or 1
将else 改成
改成bit == 0 or bit== 1
(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 再不断迭代即可
(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
(2) 编写程序: 输入一个文件A, A 中每行包含若干数值. 生成文件B, B 中每行是 A 中对应行的数值的平均值.
Import string
fileA = raw_input( “Enter a data
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()。

相关文档
最新文档