【Python】期末复习试题库

一、选择题

1、python不支持的数据类型有
A、char B、int C、float D、list
2. x = “foo” y = 2 print(x+y)
A.foo B.foofoo C.foo2 D.2 E.An exception is thrown
3、关于字符串下列说法错误的是
A、字符应该视为长度为1的字符串
B、字符串以\0标志字符串的结束
C、既可以用单引号,也可以用双引号创建字符串
D、在三引号字符串中可以包含换行回车等特殊字符
4、以下不能创建一个字典的语句是
A、dic1 = {} B、dic2 = {123:345}
C、dic3 = {[1,2,3]:‘uestc’} D、dic3 = {(1,2,3):‘uestc’}
5.Kvps = {‘1’:1,’2’:2}
theCopy = kvps
kvps[‘1’] = 5
sum = kvps[‘1’] + theCopy[‘1’]
print (sum)
A.1 B.2 C.7 D.10
6、以下何者是不合法的布尔表达式:
A.x in range(6) B.3=a C.e>5 and 4 == f D (x-6)>5
7、下列表达式的值为True的是
A.5+4j>2-3j B.3>2 == 2
C.e>5 and 4==f D.(x-6)>5
8. 已知x=43,ch=‘A’,y=1, 则表达式(x>y and ch<’b’ and y)的值是
A. 0 B.1 C.出错 D.True
9.下列表达式中返回为True的是
A. 3>2>2 B. ‘abc’>’xyz’ C. 0x56 >56 D. (3,2)>(a.b)
10. 下列python语句正确的是:(疑惑)
A. min = x if x<y else y
B. max =x>y?x:y
C. if(x>y) print(x)
D. while True:
pass
11. 若k为整形,下述while循环执行的次数为:
k=1000
while k>1:
print(k)
k=k/2
A.9 B.10 C.11 D.100
12. 以下叙述正确的是:
A. continue语句的作用是结束整个循环执行
B.只能在循环体内使用break语句
C. 在循环体内使用break语句或continue语句的作用相同
D. 从多层循环嵌套中退出时,只能使用goto语句
13.关于python中的复数,下列说法错误的是
A. 表示复数的语法是real+image j
B. 实部和虚部都是浮点数
C.虚部必须后缀是j且j不区分大小写
D.方法conjugate返回复数的共轭复数

14.下面的语句哪个会无限循环下去:
A. for a in range(10):
time.sleep(10)
B. while 1<10:
time.sleep(10)

C. while True:
Break
D. a=[3,-1,’,’]
for i in a[:]:
if not a:
break
15. 下面的代码,哪些会输出1,2,3三个数字:(多选)
A. for i in range(3):
print(i)
B. aList = [0,1,2]
for i in aList:
print(i+1)

C. for i in range(3):
print(i+1)

D. i=1
while i<3:
print(i)
i=i+1
16. python如何定义一个函数:
A. class( arg1,arg2,…,argN)
B. function (arg1,arg2,…,argN)
C. def (arg1, arg2,…,argN)
D. def ( arg1,arg2,…,argN)
17. 以下不符合Python命名规则的是
A. monthly B.monTHly C. 3monthly D. mONTHLY3
18. 以下不是Python语言提供的数字类型的是:
A. 整数 B.浮点数 C.复数 D.短整数
19. x=9,y=2,则x/y的值是
A. 4.5 B.4 C.5 D.1
20. x=9,y=2,则x // y 的值是
A. 4.5 B.4 C.5 D.1
21. x=9,y=2,则x * y的值是
A. 18 B.11 C.81 D.7
22. x=1.2,要想转换为整数,则
A. (int)x B. int(x) C.(integer)x D. integer(x)
23. x=’abc’, x
2的结果是
A. ‘abcabc’ B. ‘abc2’ C.’aabbcc’ D.’a2b2c2’
24. x=’how are you’,则x[2:6]为
A. ‘ow ar’ B. ‘ow a’ C. ‘w are’ D.’w ar’
25 将Unicode编码转换为单个字符的函数是
A. chr(x) B. ord(x) C. len(x) D. str(x)
26 将任意类型x转换为字符串的函数是
A. chr(x) B. ord(x) C. len(x) D. str(x)
27. 表达式 ‘abc’ in (‘abcdefg’) 的值为
A. True B. False C. 1 D. 0
28. 表达式 ‘abc’ in [‘abcdefg’] 的值为
A. True B. False C. 1 D. 0
29. 表达式 ‘abc’ in (‘abcdefg’,) 的值为
A. True B. False C. 1 D. 0
30. 表达式 ‘abc’ in ‘abcdefg’ 的值为
A. True B. False C. 1 D. 0
31. Python语句’-’.join(list(‘hello!’))执行的结果是
A. ‘-hello!’ B. ‘hello!-’ C. ‘h-e-l-l-o-!’ D. ‘hello!’
32. 已知列表对象x = [‘11’, ‘2’, ‘3’],则表达式 max(x) 的值为
A. ‘11’ B. 11 C. 3 D. ‘3’
33. 表达式 sum(range(1, 10, 2)) 的值为
A. 13 B. 55 C. 45 D. 25
34. 表达式 ‘{1} less than {0}’.format(65,97) 的值为
A. 65 less than 97 B. 97 less than 65
C. 1 less than 0 D. 0 less than 1
35. ‘abcdefg’.split(‘cd’) 的值为
A. [‘ab’, ‘efg’] B. (‘ab’, ‘efg’)
C. [‘a’, ’b’, ‘e’, ’f’, ’g’] D. A. [‘ab’, ‘cd’, ‘efg’]
36. x=‘abcdefgabab’, x.replace(‘a’,’-’, 2),则x的值为
A. ‘abcdefgabab’ B. ‘-bcdefg-b-b’
C. ‘-bcdefg-bab’ D. ‘-2bcdefg-2b-2b’
提示:关于 string 的 replace 方法,需要注意 replace 不会改变原 string 的内容。
37.表达式 eval(‘3+5’) 的值为
A. ‘3+5’ B. 8 C. ‘8’ D’35’
38. 任意长度的Python列表、元组和字符串x中最后一个元素的下标为
A. 0 B. -1 C. len(x) D.未知
39. 切片操作list(range(6))[::2]执行结果为
A. [0,2,4,6] B.[0,2,4] C. [2,4,6] D.[2,4]
40. 使用切片操作在列表对象x的开始处增加一个元素3的代码为:
A. x[0]=3 B. x[0:0]=3 C. x(0)=3 D. x.append(3)
41. 表达式 sorted([111, 2, 33], key=lambda x: len(str(x))) 的值为
A. [111, 2, 33] B. [2, 111, 33] C. [2, 33,111] D. [111, 33, 2]
42已知x=3和y=5,执行语句 x, y = y, x 后x的值是
A. 3 B. 5 C. 0 D.8
43. 已知 x = {1:2},那么执行语句 x[2] = 3之后,x的值为________________。
A. {1:2} B. {2:3} C. {1:2:3} D. {1: 2, 2: 3}
44. 表达式 {1, 2, 3, 4} - {3, 4, 5, 6}的值为
A. {1,2} B. {1, 2, 3, 4} C. {1, 2, 5, 6} D. {1, 2, 3,4}
45.表达式 [x for x in [1,2,3,4,5] if x<3] 的值为
A. [1, 2, 3] B. [1, 2] C. 1, 2 D. [1, 2, 3, 4, 5]
46. 已知 x = list(range(10)),则表达式 x[-4:] 的值为
A. [0, 1, 2, 3] B. [6, 7, 8, 9] C. [7, 8, 9] D. []
47. 已知 x = [3, 5, 7],那么执行语句 x[1:] = [2]之后,x的值为
A. [3, 2, 5, 7] B. [3, 2, 7] C. [3, 2] D. [3, 5, 7, 2]
48. 已知 x = {1:2, 2:3},那么表达式 x.get(3, 4) 的值为(迷惑)
A. 0 B. NaN C. 4 D. null
49.已知 g = lambda x, y=3, z=5: xyz,则语句 print(g(2)) 的输出结果为
A. 2 B. 15 C.30 D. xyz
50. 已知函数定义 def func(*p):return sum§,那么表达式 func(1,2,3, 4) 的值为
A. NaN B. 2 C.10 D. 4
51. 已知函数定义 def func ( * *p):return sum(p.values()),那么表达式 func(x=1, y=2, z=3) 的值为
A. NaN B. 5 C.6 D. ‘123’
52. Python内置函数_____________用来打开或创建文件并返回文件对象
A. create B. get C. open D. generate
53. 不允许元素重复的数据结构是
A. 元组 tuple B. 列表List C. 集合set D. 字典Dictionary
54. 假如函数的return语句同时返回3个值,则返回值是什么数据类型
A. 元组 tuple B. 列表List C. 集合set D. 字典Dictionary
55. 对于字典d={‘abc’:1, ‘qwe’:3, ‘zxc’:2},len(d)的结果是
A. 3 B. 6 C. 12 D. 不确定
56. 对于字典dic,语句for x in dic中,x是
A. key B. value C. key-value对 D. 下标
57. 对于字典dic,获取键值集合的函数是:
A. keys() B. values() C. items() D. pop()
58. 想以二进制只读方式打开一个文件,则打开模式
A. ‘rb’ B. ‘r’ C. ‘r+’ D. ‘rb+’
59. 若要创建numpy的都是1的二维数组,则正确的是:
A. np.ones((4,5)) B. np.one((4,5)) C. np.ones(4,5)’ D. np.ones([4,5])
60. 在numpy中,查看数组在每个维度上大小的属性是
A. shape B. ndim C. size D. dtype
61. 有两个numpy数组x和y,假设他们符合线性代数的乘法规则,则它们相乘的符号是
A. x.dot(y) B. x * y C. x**y D. x.y
62. 有如下代码,则输出是
import numpy as np
x=np.array([1,2,3,4,5,6])
print(np.where(x>4,1,0))
A. [0 0 0 0 1 1] B. 1
C. [1,2,3,4] D. [5,6]
63. 对于numpy中的函数multiply(x1,x2,y),描述正确的是:
A.将x1,x2两个数组中对应位置的元素相乘,将结果保存到数组y中
B.将x1,x2两个数组按线性代数矩阵相乘的规则相乘,将结果存到数组y中
C.将x1,x2两个数组中对应位置的元素相加,将结果保存到数组y中
D. 将x1的元素与x2对应位置的元素进行幂运行,将结果保存到数组y中
64.包含汉字字符串x=‘你好’在python3中,则len(x)的值为:
A. 2 B. 4 C. 6 D. 8 (utf-8为6,Unicode为2)
65. 已知函数定义 def func(**p):return ‘’.join(sorted§),那么表达式 func(x=1, y=2, z=3)的值为
A. 123 B. ‘123’ C.‘xyz’ D. 6
66. print(1, 2, 3, sep=’,’) 的输出结果为
A. 123 B. 1,2,3 C.123, D. 6
67. 已知x = [[] for i in range(3)],那么执行语句x[0].append(1)之后,x的值为
A. [1, 1, 1] B. [[1], [], []] C. [1] D. [[1]]
68. 已知x = [3, 2, 4, 1],那么执行语句x = x.sort()之后,x的值为
A. [4, 3, 2, 1] B. None C. [1,2,3,4] D. [3, 2, 4, 1]
69. 表达式 [1, 2] + [3] 的值为
A. [1, 2] B. [1, 2, 3] C. [4, 6] D. [6]
70. x=(3),则x的数据类型是
A. 整数 B.元组 C.列表 D.集合

二.填空题

1.以下函数需要在其中引用一个全局变量k,请填写语句:
def fun():
gloable k____
k=k+1
2. L=range(100)
(1)取到第一到第三个原始__list(L)[0:3]_________
(2)取倒数第三个元素______ list(L)[-3]____________
(3)取后10个元素____ list(L)[-10:]_________________

  1. 判断dictionary有没有某个key的用法是__________________key in dict

  2. 获取list的元素个数,和向末尾追加元素的方法分别是_____________len(list), list.append(x)

  3. 以下代码的输出将是什么:
    def extendList(val,list=[]):
    list.append(val)
    return list
    list1 = extendList(10)
    list2 =extendList(123,[])
    list3 =extendList(‘a’)
    print(list1)
    print(list2)
    print(list3)

    [10, ‘a’]
    [123]
    [10, ‘a’]

  4. 下面程序的输出结果是:yes
    x=True
    y=False
    z=False
    if x or y and x:
    print(‘yes’)
    else:
    print(‘no’)

  5. 下面代码的功能是,随机生成50个介于[1,20]之间的整数,然后统计每个整数出现频率。请把缺少的代码补全。
    import random
    x = [random._____(1,20) for i in range()]
    r = dict()
    for i in x:
    r[i] = r.get(i, _____)+1
    for k, v in r.items():
    print(k, v)
    答:
    分别填写randint、50、0

  6. 下面程序的执行结果是__________________。(1)
    s = 0
    for i in range(1,101):
    s += i
    else:
    print(1)

  7. 下面程序的执行结果是______________。(1275)
    s = 0
    for i in range(1,101):
    s += i
    if i == 50:
    print(s)
    break
    else:
    print(1)

  8. 阅读下面的代码,分析其执行结果。
    def demo(*p):
    return sum§
    print(demo(1,2,3,4,5))
    print(demo(1,2,3))
    答:输出结果为
    15
    6
    11.阅读下面的代码,分析其执行结果。
    def demo(a, b, c=3, d=100):
    return sum((a,b,c,d))
    print(demo(1, 2, 3, 4))
    print(demo(1, 2, d=3))
    答:输出结果为
    10
    9

  9. 下面的代码输出结果为_____________。(3)
    def demo():
    x = 5
    x = 3
    demo()
    print(x)

三、简答题

  1. 如何判断一个变量时不是一个字符串
  2. is 和 ==的区别
  3. Python里面如何实现tuple和list的转换
  4. list和tuple有什么不同
  5. 如何得到列表list的交集与差集
  6. Python中定义函数是如何书写可变参数和默认参数
  7. *args 和 **kargs在什么情况下会使用到?请给出使用 **kargs的实例
  8. 请描述unicode,utf-8,gbk等编码之间的关系
  9. 如何使用python删除一个文件
  10. def func(a,b,c=0,*args,**kargs):
    pass
    *args, **kargs的作用是什么?

四、写代码

1、 d={‘a’:1, ’b’=2, ‘c’=3}请打印出key、value对
2、请写出一段python代码实现删除一个list里面重复的元素
3、使用Python上机解决以下题目:
(1)斐波那契数列1,2,3,5,8,13,21.。。。根据规律求出400万内最大的斐波那契数,请求出他是第几个斐波那契数。
(2)
dicta ={‘a’:1, ‘b’:2, ‘c’:3, ‘d’:4, ‘f’:’hello’}
dictb ={‘b’:3, ‘d’:5, ‘e’:7 ‘m’:9, ‘k’:’world’}
要求写一段代码,实现两个字典的相加,不同key对应的值保留,相同key对应的值相加后保留,如果是字符串就连接。

五、numpy和matplotlib
1.numpy的使用请参考ftp//192.168.106.99/下载/Python程序设计/第六讲科学计算.pptx、第七讲 Numpy其他概念.pptx,和numpy_1.ipynb。
2.matplotlib的使用请参考ftp//192.168.106.99/下载/Python程序设计/matplotlib_demo.ipynb,重点掌握plot和pie函数,各个参数的含义。

  • 25
    点赞
  • 234
    收藏
    觉得还不错? 一键收藏
  • 17
    评论
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值