特辑:Python理论考试样卷及解析
一、判断题
1. 2.1-2 == 0.1结果为True。
解析:错误。因为在计算机中,对浮点数进行存储是以近似小数的形式进行。因此在计算机求解2.1 - 2 时所得的不是0.1,而是一个与 0.1 非常相近的数字但是不是 0.1 ,所以返回值为False。
2. 高级语言程序要被机器执行,只有用解释器来解释执行。
解析:错误。因为在计算机中,高级语言所编制的程序不能被直接识别,必须经过转化才能执行。按转换方式可将它们分为两类: 解释类:执行方式类似于我们日常生活中的“ 同声翻译 ”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码 (机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器,但这种方式比较灵活,可以动态地调整、修改应用程序。编译类:编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行,使用比较方便、效率较高。但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件(* .OBJ)才能执行,只有目标文件而没有源代码,修改很不方便。现在大多数的编程语言都是编译型的,例如Visual C++、Visual Foxpro、Delphi等。
3. z已赋值,x=(y=z+1)语句是错误语句。
解析:错误。赋值语句的右侧不能的是一个等式,只能是一个可以求值的式子。
4. 元组对象是可变对象
解析:错误。python 中的不可变对象有整型 (int),浮点型 (float),字符串型 (str), 元组 (tuple)等等,而可变对象有列表 (list),集合 (set), 字典 (dict)等等。
5. 3>2>=2 的值为True。
解析:正确。3>2 判别式和 2>=2 判别式返回值均为True,则总式返回值为True。
6. Python字符串以'0'为结束符。
解析:错误。Python的字符串不是以“\0”结尾。
7. 在三引号的字符串中可以包含单引号,双引号字符。
解析:正确。对于Python中的引号,有格式为:单引号字符串:'python',双引号字符串:"python",三引号字符串:'''python'''(三单引号),"""python"""(三双引号)。
而会有这样的输出效果:单引号中可以使用双引号,中间的会当作字符串输出,双引号中可以使用单引号,中间的会当作字符串输出,三单引号和三双引号中间的字符串在输出时保持原来的格式。
8. dict={[1,2,3]:"user"}不能创建一个字典。
解析:正确。Python不支持dict的key为list或dict类型,因为list和dict类型是unhashable(不可哈希)的,故不能创建一个字典的语句是dict3 = {[1,2,3]: “uestc”}。
9. 下面语句是正确的。
x=5
y=6
if(x>y)
print(x)
解析:错误。在if 语句后未加上“:”。
10. 变量不需事先声明就可使用。
解析:正确。Python中的变量不需要申明就可以直接使用。
二、选择题
1. 下面那个不是Python可以接受的变量名?
A. abc B. _23ac C. i D. good-name
解析:D。Python的变量名不能包含“-”等特殊字符。
2. 输入10,下面程序行号为2的语句输出是多少?
the_max = int(input("Enter the upper limit:"))
the_sum = 0
extra = 0
for number in range(1,the_max):
if number%2 and not number%3:
the_sum = the_sum + number
else:
extra = extra + 1
print(the_sum) # 行号为 2
print(extra) # 行号为 3
A. 12 B.7 C.13 D.8
解析:A。对于number%2 and not number%3的判别,为number%2 不为0 而 number%3 为0时成立,所以在sum里面求的是3+9=12 。
3. 下面哪种方法读文件“input.txt”是正确的.
A.in_file = open('input.txt','w')
B.in_file = open('input.txt',r)
C.in_file = open('input.txt','r')
D.都不正确.
解析:C。对于打开文件使用函数open,而函数中使用的后缀在只用于读时则为用‘w’,而用于写则为‘w’。
4. continue语句用于______.
A.退出循环程序 B.结束本次循环 C.空操作 D.根据if语句的判断进行选择
解析:B。continue表示结束本次循环然后继续执行循环程序中的下一次(步)。
5.下面定义字典的语句那个是正确的?
A.momthdays=dict(Jan=31,Feb=28,Mar=31,Apr=30)
B.momthdays=dict("Jan"=31,"Feb"=28,"Mar"=31,“Apr"=30)
C.momthdays={Jan:31,Feb:28,Mar:31,Apr:30}
D.momthdays={Jan=31,Feb=28,Mar=31,Apr=30}
解析:A。dict为字典类型,则在定义时需要用“()”来将值赋入其中。而在赋值时,需要将键(keys)和对应的值(values)用等号连接。
6.2K字节是_____个字节。
A.1024 B.1 C.2048 D.10000
解析:C。1KB占用1024字节,则2K = 2KB为占用2048字节。
7.下面语句解释器将抛出什么错误信息?
s=[1,2,3] y=s[3]
A.NameError B.IndexError C.SyntaxError D.TypeError
解析:B。显然,s=[1,2,3]列表中只有0,1,2三个位置上有值,而y=s[3]要返回的位置超过了s已存储值的上边界,故返回的是越界报错(IndexError)
8.下面代码的输出结果是_____。
a=666666
b="T"
print("{0:{2}^{1}}\n{0:{2}>{1}}\n{0:{2}