一、选择题
1、下列是 python 合法标识符的是( B)。
A. 2variable
B. variable2
C. $anothervar
D. if
2、在 python 中字符串的表示方式是(D )。
A.采用单引号包裹
B.采用双引号包裹
C.采用三重单引号包裹
D.ABC 都是
3、设有变量赋值 x=3.5;y=4.6;z=5.7,则以下的表达式中值为 True 的是( B)。
A. x>y or x>z
B. x!=y
C.z>y+x
D.x<y and not(x<z)
4、下列 4 个表达式中哪两个相等?( C)
表达式为:(1)16>>2,(2)16/24,(3)16*4,(4)16<<2
A.(1)和(2)
B.(2)和(3)
C.(3)和(4)
D.(4)和(2)
5、下列语句执行后,x 的值是(D )。
a=3; b=4; x=5
if a<b:
a+=1
x+=1
A.5 B.3 C.4 D.6
6、下列选项中属于元组的是( A)。
A.(21,32,43,45)
B.’Hello’
C.[21,32,43,45]
D.21
7、在一个应用程序中定义 a=[1,2,3,4,5,6,7,8,9,10],为了打印输出列表后 a 的最后一个元
素,下面正确的代码是( B)。
A. print(a[10])
B.print(a[9])
C.print(a[len(a)])
D.print(a(9))
8、显式抛出异常的语句有( B)。
A. throw
B. raise
C. try
D. except
9、设 s=”Happy New Year”,则 s[3:8]的值为:( B)
A. ‘ppy Ne’
B.’py Ne’
C.’ppy N’
D.’py New’
10、以下哪一项是不合法的布尔表达式。( B)
A. x in range(6)
B.3=a
C. e>5 and 4==f
D. (x-6)>5
二、判断题
1、在 python 语言中,一行代码表示一条语句,语句结束可以加分号,也可省略分号。(对 )
2、python 中布尔类型只有 True 和 False 两个值。(对 )
3、同一性测试运算符有 is 和 is not 两个,is 判断是否为同一对象,is not 判断是否不是同一对象。( 对)
4、集合的元素是不能重复的。( 对)
5、在序列的分片运算符[start:end]中,start 是开始索引,end 是结束索引。(对 )
6、python 支持函数重载。( 错)
重载:函数名相同,函数的参数个数、参数类型或参数顺序三者中必须至少有一种不同。函数返回值的类型可以相同,也可以不相同。发生在一个类内部。
7、在 python 中,类具有面向对象的基本特征,即封装性、继承性和多态性。( 对)
8、类方法不需要与实例绑定,需要与类绑定,定义时它的第一个参数不是 self,而是类的 type 实例,type 是描述 python 数据类型的类,python 中所有数据类型都是 type 的一个实例。(对 )
9、静态方法不与实例绑定,也不与类绑定,只是把类作为它的命名空间。( 对)
10、属性是为了替代 getter 访问器和 setter 访问器。(对 )
三、填空题
1、在 Python 中 None 表示空类型。
2、查看变量类型的 Python 内置函数是 type()。
3、表达式“[3] in [1, 2, 3, 4]”的值为 False 。
4、转义字符’\n’的含义是 回车换行 。
5、表达式 ‘ab’ in ‘acbed’ 的值为 False 。
6、表达式 int(40.5) 的值为 40 。
7、已知 x = {1:2},那么执行语句 x[2] = 3 之后,x 的值为 {1:2,2:3} 。
8、表达式 [x for x in [1,2,3,4,5] if x<3] 的值为 [1,2] 。
9、已知 x = ‘123’ 和 y = ‘456’,那么表达式 x + y 的值为 ’123456’ 。
10、已知 x = list(range(20)),那么语句 print(x[100:200])的输出结果为 [] 。
x = list(range(20))
print(x)
print(x[100:200])
四、写出程序结果
1、若 k 为整数,下述 while 循环执行的次数为: (9)
k=1000
while k>1:
print(k)
k=k//2
2、下面程序运行的结果为([5,6,1,2,3,4])
def demo(lst, k):
if k<len(lst):
return lst[k:]+lst[:k]
lst=[1,2,3,4,5,6]
print(demo(lst,4))
3、阅读程序,打印结果是 ([‘a’][‘a’,’b’])
def demo(newitem,old_list=[]):
old_list.append(newitem)
return old_list
def main():
print(demo('a'))
print(demo('b'))
main()
4、阅读程序,打印结果是 (1,2 3,2 1,7 报错)
def f(w=1,h=2):
print(w,h)
f()
f(w=3)
f(h=7)
f(a=3)
五、编程题
1、编写程序,生成一个包含 20 个随机整数的列表,然后对其中偶数
下标的元素进行降序排列,奇数下标的元素不变。(提示:使用切片
和 sort 排序函数。)
import random
x = [random.randint(0,100) for i in range(20)]
print(x)
y = x[::2]
y.sort(reverse=True)
x[::2] = y
print(x)
2、如果一个字符串从前往后和从后往前读时是一样的,那么这个字符串就是回文串。请
编写一个函数判断是否为回文串,同时编写测试代码检验回文串。(提示使用切片,注意
列表索引的使用)。
def isPalindrome(s):
if s==s[::-1]: #切片操作,倒序和顺序一样
return True
else:
return False
s=input('input a string:')
if isPalindrome(s):
print('%s is a palindrome!'%s)
else:
print('%s is not a palindrome!'%s)