1、1Python 试卷试卷 单选题单选题(每题每题 2 2 分,共分,共 3030 分分):1.Python 使用缩进作为语法边界,一般建议怎样缩进?()A.TABB.两个空格C.四个空格D.八个空格2.print 100-25*3%4 应该输出什么?()A.1B.97C.25D.03.要将 3.1415926 变成 00003.14 如何进行格式化输出?()A.%.2f%3.1415926B.%8.2f%3.1415926C.%0.2f%3.1415926D.%08.2f%3.14159264.python my.py v1 v2 形式运行脚本时,通过 from sys import argv
2、 如何获得 v2 的参数值?()A.argv0B.argv1C.argv2D.argv35.哪种函式参数定义非法?()A.def myfunc(*args,a=1):B.def myfunc(arg1=1):C.def myfunc(*args):D.def myfunc(a=1,*args):26.Python 中有很多包管理工具,以下哪种不是?()A.setuptools B.pipC.portsD.yolk7.下列哪个语句在 Python 中是非法的?()A.x=y=z=1 B.x=(y=z+1)C.x,y=y,xD.x +=y8.关于 Python 内存管理,下列说法错误的是()A.变
3、量不必事先声明 B.变量无须先创建和赋值而直接使用C.变量无须指定类型 D.可以使用 del 释放资源9.下面哪个不是 Python 合法的标识符()A.int32 B.nameC.self D.40XL 10.下列哪种说法是错误的?()A.除字典类型外,所有标准对象均可以用于布尔测试B.空字符串的布尔值是 FalseC.空列表对象的布尔值是 FalseD.值为 0 的任何数字对象的布尔值是 False311.下列表达式的值为 True 的是()A.5+4j 2-3j B.322C.(3,2)”xyz”12.Python 不支持的数据类型有()A.char B.intC.float D.lis
4、t13.kvps=1:1,2:2theCopy=kvpskvps1=5sum=kvps1+theCopy1print(sum)()A.1 B.2 C.7 D.1014.以下不能创建一个字典的语句是?()A.dict1=B.dict2=3:5 C.dict3=1,2,3:“uestc”D.dict4=(1,2,3):“uestc”15.下列 Python 语句正确的是()A.min=x if x y)print x4D.max=xy?x:y多选题多选题(每题每题 5 5 分,共分,共 2525 分分):1.Python 中的注释符有那几种?()A.#.B./.C./*.*/D.2.哪两种文件打开
5、效果相同?()A.open(filename,r)B.open(filename,w+)C.open(filename,rb)D.open(filename,w)3.Python 中列表切片操作非常方便,若 l=range(100)以下哪种形式是正确的?()A.l-3B.l-2:13C.l:3D.l2-34.下列 Python 语句正确的是()5A.min=x if x y?x:yC.if(x y)print xD.while True:pass5.下面的代码,哪些是输出 1,2,3 三个数字()A.for i in range(3):print(i)print(i+1)B.aList=0,1
6、,2for i in aList:print(i+1)C.i=1while i 3:print(i)i+=1D.for i in range(3):print(i+1)简答题简答题(每题每题 1010 分,共分,共 2020 分分):一 is 和=的区别?6二Python 如何实现 tuple 和 list 的转换?编程题编程题(25(25 分分):判断 101-200 之间有多少个素数,并输出所有素数。写出分析思路。用python 实现。提示:质数又称素数。一个大于 1 的自然数,除了 1 和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。7参考答案:参考答案:单选题:CBDCA
7、CBBDA CADCB多选题:AD BD ABCD AD BD简答题:1.=比较的是数值,is 比较的是内存地址2.#tuple 转换为 list a=(1,2,3)b=list(a)#list 转换为 tuple a=1,2,3 b=tuple(a)编程题:判断素数的方法:用一个数分别去除 2 到 sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。h=0leap=1from math import sqrtfrom sys import stdoutfor m in range(101,201):k=int(sqrt(m+1)8for i in range(2,k+1):if m%i=0:leap=0breakif leap=1:print%-4d%mh+=1if h%10=0:print leap=1print The total is%d%h