1、专业班级: 学号: 姓名: 考试科目: Python程序设计期中考试卷座位号 (自己写的答案,有不正确的地方还请给位批评指正)分数阅卷人一、填空题(每空1分,共40分)1Python使用符号 # 标示注释;还有一种叫做 的特别注释。2可以使用 符号把一行过长的Python语句分解成几行;多个语句也可以写在同一行,语句之间要用 ; 符号隔开。3、每一个Python的 类 都可以被当作一个模块。导入模块要使用关键字 import 。4、所有Python对象都有三个特性:身份、类型、值。5、Python的数字类型分为 long 、 int 、 float 、 complex 、 不知道 等子类型。6
2、、Python序列类型包括 元组 、 列表 、 字典 三种; 字典 是Python中唯一的映射类型。7、Python提供了两个对象身份比较操作符 is 和 is not 来测试两个变量是否指向同一个对象,也可以通过内建函数 type() 来测试对象的身份。8、Python的标准类型内建函数有: re 、 urllib 、 json 、 io 、 time 等。9、Python的传统除法运算符是 / ,地板除法运算符是 / 。10、设s=abcdefg,则s3值是 d ,s3:5值是 de ,s:5值是 abcde ,s3:值是 defg ,s : :2值是 aceg ,s:-1值是 gfedc
3、ba ,s-2:-5值是 。11、删除字典中的所有元素的函数是 clear() ,可以将一个字典的内容添加到另外一个字典中的函数是 update(字典名称) ,返回包含字典中所有键的列表的函数是 keys() ,返回包含字典中所有值的列表的函数是 values() ,判断一个键在字典中是否存在的函数是 get() 。分数阅卷人二、选择题(每题2分,共24分)1下列哪个语句在Python中是非法的?( B )A、x = y = z = 1 B、x = (y = z + 1)C、x, y = y, xD、x += y2关于Python内存管理,下列说法错误的是()A、变量不必事先声明 B、变量无须
4、先创建和赋值而直接使用C、变量无须指定类型 D、可以使用del释放资源3、下列哪种情况会导致Python对象的引用计数增加( )A、对象被创建 B、被作为参数传递给函数C、成为容器对象的元素D、该对象无法访问时4、下面哪个不是Python合法的标识符(B)A、int32 B、40XLC、selfD、_name_5、下列哪种说法是错误的(A)A、除字典类型外,所有标准对象均可以用于布尔测试B、空字符串的布尔值是FalseC、空列表对象的布尔值是FalseD、值为0的任何数字对象的布尔值是False6、下列表达式的值为True的是(C)A、5+4j 2-3j B、322C、(3,2) xyz7、P
5、ython不支持的数据类型有(A)A、char B、int C、float D、list8、关于Python中的复数,下列说法错误的是(B)A、表示复数的语法是real + image jB、实部和虚部都是浮点数C、虚部必须后缀j,且必须是小写D、方法conjugate返回复数的共轭复数9、关于字符串下列说法错误的是(A)A、字符应该视为长度为1的字符串B、字符串以0标志字符串的结束C、既可以用单引号,也可以用双引号创建字符串 D、在三引号字符串中可以包含换行回车等特殊字符10、以下不能创建一个字典的语句是(C)A、dict1 = B、dict2 = 3 : 5 C、dict3 = dict(
6、 2 , 5 , 3 , 4 )D、dict4 = dict( ( 1,2,3,4 ) )11、下面不能创建一个集合的语句是(C)A、s1 = set () B、s2 = set (“abcd”) C、s3 = (1, 2, 3, 4) D、s4 = frozenset( (3,2,1) )12、下列Python语句正确的是(D)A、min = x if x y ? x : y C、if (x y)print xD、while True : pass分数阅卷人三、简答题(每题6分,共36分)1、简述一个典型Python文件应当具有怎样的结构?2、下面的Python函数检查给定的字符串s是否为合
7、法的标识符,程序中有6处语法错误,请改正:void CheckId(string s): 改正def CheckId(s): alphas = abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ_ (改正应使用 ) nums =0123456789 if ( len(s) 1 ) firstChar = s0 if firstChar not in alphas: print Error. First char must be alphas or number. else: /使用切片操作,取出除第1字符外的其它字符 otherChar
8、= s(1 : ) 改正 d1: alphasnums = alphas + nums while c in otherChar: 改正 for if c not in alphasnums: print Error. Other chars must be alphas number or _ . break else: print (okay as an identifier) 改正缩进不对 else: if s not in alphas: print Error. else: print Okay as an identifier3、写一个函数,计算一个给定的日期是该年的第几天。 de
9、f getday(self,y=None,m=None,d=None): date = datetime(y,m,d) days = date.strftime(%j) return days4、写一个函数,给定N,返回斐波那契数列第N项。def getn_vlaue(self,n): if n=2: return 1 else: return self.getn_vlaue(n-1)+self.getn_vlaue(n-2)5、从0到9中随机选择,生成1到10个随机数,组成集合A,同理生成集合B,输出A和B以及它们的并集和交集def getnumberlist(self): a= b= j=
10、k=0 for x in xrange(0,10): j=int(random.random()*10) k=int(random.random()*10) a.append(j) b.append(k) print u集合a:,a print u集合b:,b return a,b def getendlistj(self,a,b):#并集 c = a+b new_c = for x in xrange(0,len(c): temp = cx if temp not in new_c: new_c.append(temp) print u并集:,new_c def getendlistb(se
11、lf,a,b):#交集 new_a = new_b = new_c = for x in xrange(0,len(a): temp = ax if temp not in new_a: new_a.append(temp) for x in xrange(0,len(b): temp = bx if temp not in new_b: new_b.append(temp) j = len(new_a) if len(new_a)len(new_b) else len(new_b) for x in xrange(0,j): temp = new_bx if temp in new_a: new_c.append(temp) print u交集:,new_c6、给定一个整数N,判断N是否为素数 def getprime(self,n): if n=3: print u是素数 else: i=0 for x in xrange(2,n): if n%x=0: i+=1 else: i=i if i=0: print u是素数 else: print u不是素数谢谢大家下载,本文档下载后可根据实际情况进行编辑修改.再次谢谢大家下载.翱翔在知识的海洋吧.第7页