Python 考试练习题 2

一、选择题


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 支持函数重载。( 错)

重载:函数名相同,函数的参数个数、参数类型或参数顺序三者中必须至少有一种不同。函数返回值的类型可以相同,也可以不相同。发生在一个类内部。

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)


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值