【Python】未知来源的Python 2020期末考试试题,大家可以来答题学习了

最近在学习,然后看到有别人发的Python期末考试,不知道具体的来源,猜测是某大学的课程,今天来学习一下。

 

一、选择题

1、下列是 python 合法标识符的是( B)。
A. 2variable B. variable2 C. $anothervar D. if

AC要以英文开头,D是关键字。


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.5 B.3 C.4 D.6

a=3; b=4; x=5
if a<b:
a+=1
x+=1


6、下列选项中属于元组的是( A)。
A.(21,32,43,45)
B.’Hello’
C.[21,32,43,45]
D.21

()元组,单引/双引/三引都是字符串,[]列表,没有引号的数字是int和float


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))

a[0]是第1个元素,那么a[9]就是第10个元素。

len是长度或者数量

D语法错误


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’

从第4个开始,第8个结束。


10、以下哪一项是不合法的布尔表达式。( B)
A. x in range(6) B.3=a C. e>5 and 4==f D. (x-6)>5

布尔表达式是判断,只有B是赋值


二、判断题

1、在 python 语言中,一行代码表示一条语句,语句结束可以加分号,也可省略分号。(对 )
2、python 中布尔类型只有 True 和 False 两个值。(对 )
3、同一性测试运算符有 is 和 is not 两个,is 判断是否为同一对象,isnot 判断是否不是同一对象。( 对)
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) 的值为____2________。   (这个答案没搞懂,应该是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])的输出结果为_____[]。


四、写出程序结果

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]
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)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值