暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Python期末复习

十一点前必睡 2021-06-21
1237

选择题

1.以下哪个不是datetime模块的核心类:(   )。

A. date     B. time     C. now     D. tzinfo

2.创建datetime对象的方法中,哪个方法表示获取一个当前时区日期和实践的datetime对象:(   )。

A. now()     B. utcnow()     C. today()     D. datetime()

2.获取当前日期和时间对应的UTC时间的方法为:(   

A. now()     B. utcnow()     C. today()     D. datetime()

2.获取一个表示本地当前日期和时间的datetime对象的方法是:(   )。

A. now()     B. utcnow()     C. today()     D. datetime()

2.用于构造一个指定日期和时间的datetime对象的方法是:(   )。

A. now()     B. utcnow()     C. today()     D. datetime()

3.strftime()方法的格式控制符中,用于表示四位数年份的是:(   )。

A. %Y     B. %B     C. %A     D. %H

3.strftime()方法的格式控制符中,用于表示本地完整月份的是:(   )。

A. %Y     B. %B     C. %A     D. %H

3.strftime()方法的格式控制符中,用于表示本地完整周日期的是:(   )。

A. %Y     B. %B     C. %A     D. %H

3.strftime()方法的格式控制符中,用于表示24小时制小时数的是:(   )。

A. %Y     B. %B     C. %A     D. %H

4.切片截取的范围属于:(   )。

A.左闭右闭     B.左闭右开     C.左开右闭     D.左开右开

5.Python列表是一个:(   )。

A.不可变序列,具有长度的限制

B.不可变序列,没有长度的限制

C.可变的序列,具有长度的限制

D.可变的序列,没有长度的限制

6.字符串中的元素使用(   )包含。

A. [ ]      B. ( )     C. { }     D. “”

6.列表中的元素使用(   )包含。

A. [ ]      B. ( )     C. { }     D. “”

6.元组中的元素使用(   )包含。

A. [ ]      B. ( )     C. { }     D. “”

6.字典中的元素使用(   )包含。

A. [ ]      B. ( )     C. { }     D. “”

7.Python中表示计算序列长度的函数为:(   )。

A. len()      B. list.append()     C. list.remove()     D. list.sort()

7.Python中表示在列表的末尾添加元素的函数为:(   )。

A. len()      B. list.append()     C. list.remove()     D. list.sort()

7.Python中表示删除列表中第一次出现的元素的函数为:(   )。

A. len()      B. list.append()     C. list.remove()     D. list.sort()

7.Python中表示将列表中的元素排序的函数为:(   )。

A. len()      B. list.append()     C. list.remove()     D. list.sort()

8.通过(   )函数可以将已有的元组或字符串转换为列表。

A. list()     B. tuple()     C. set()     D. range()

8.通过(   )函数可以构造元组。

A. list()     B. tuple()     C. set()     D. range()

8.使用(   )函数可以创建集合。

A. list()     B. tuple()     C. set()     D. range()

9.往集合S中添加元素的方法为:(   )。

A. S.add()     B. S.clear()     C. S.copy()     D. S.pop()

9.删除集合S中所有元素的方法为:(   )。

A. S.add()     B. S.clear()     C. S.copy()     D. S.pop()

9.返回集合S一个副本的方法为:(   )。

A. S.add()     B. S.clear()     C. S.copy()     D. S.pop()

9.随机返回集合S中的一个元素,同时删除该元素的方法为:(   )。

A. S.add()     B. S.clear()     C. S.copy()     D. S.pop()

10.返回字典d中所有键值对信息的方法为:(   )。

A. d.items()     B. d.popitem()     C. d.keys()     D. d.values()

10.随机删除字典d中的一个键值对的方法为:(   )。

A. d.items()     B. d.popitem()     C. d.keys()     D. d.values()

10.返回字典d中所有键信息的方法为:(   )。

A. d.items()     B. d.popitem()     C. d.keys()     D. d.values()

10.返回字典d中所有值信息的方法为:(   )。

A. d.items()     B. d.popitem()     C. d.keys()     D. d.values()

11.下列哪个类型的数据可以放入到集合中:(   )。

A. 列表     B. 字典     C. 浮点型     D. 集合

12.下列哪个不是Python中读取文件的方法:(   )。

A. read()     B. readlink()     C. readline()     D. readlines()

13.Python可通过(   )方法向文件中写入数据。

A. open()     B. write()     C. read()     D. tell()

14.Python中可通过(   )方法获取文件当前的读写位置。

A. open()     B. write()     C. read()     D. tell()

15.Python中可通过(   )方法控制文件的读写位置。

A. open()     B. write()     C. read()     D. seek()

16.返回文件对象的下一行的方法是(   )。

A. open()     B. _next_()     C. read()     D. seek()

17.使用os模块中的(   )函数可以更改文件名。

A. open()     B. rename()     C. read()     D. remove()

18.os模块中的(   )函数用于创建目录。

A. open()     B. rename()     C. mkdir()     D. remove()

18.os模块中的(   )函数用于删除目录。

A. open()     B. rename()     C. rmdir()     D. remove()

18.os模块中的(   )函数用于获取当前目录。

A. open()     B. rename()     C. getcwd()     D. remove()

18.os模块中的(   )函数用于更改默认目录。

A. open()     B. rename()     C. chdir()     D. remove()

19.在Python中,实现(   )方法的对象都是可迭代对象。

A. _iter_()     B. rename()     C. _next_()     D. remove()

20. json模块的(   )函数和loads()函数可以实现Python对象和JSON数据之间的转换。

A. dumps()     B. rename()     C. dict()     D. listdir()

21.下列哪个不是math模块提供常数:   )。

A. pi     B. e     C.inf     D.na

 

 

 

 

 

 

 

 

 

 

 

 

填空题

1.高级语言编写的程序在执行之前需要被翻译成机器语言,根据不同的翻译方式,执行分为编译执行解释执行两种。

2.根据不同的翻译执行方式,高级语言被分为静态语言和脚本语言两类。

3.Python是一种脚本语言,Python程序采用解释方式执行。

4.Python程序的运行方式有两种:交互式文件式

5.程序是运行在电子计算机之上,用于实现某种功能的一组指令的集合

6.Python3不允许混合使用Tab键和空格键来缩进。

7.Python程序中的注释分为单行注释和多行注释。

8.单行注释以 ‘ # ’ 标识。

9.多行注释包含在3对英文半角单引号(‘‘‘’’’)或3对英文半角双引号(“““”””)之间。

10.Python语言允许使用字母、数字、下划线及其组合作为变量名标识变量。

11.Python语言不允许变量以数字开头。

12.关键字又称为保留字。

13.根据数据存储形式的不同,数据类型分为基础的数字类型和比较复杂的组合类型。

14.数字类型分为整型、浮点型、布尔类型和复数类型。

15.组合类型分为字符串、列表、元组、字典等。

16.字符串使用引号标识。

17.列表使用方括号标识。

18.元组使用圆括号标识。

19.字典使用花括号标识。

20.Python语言为字符串中的元素编号,按照不同的方向,索引分为正向索引和逆向索引。

21.Python语言支持使用索引区间取出字符串片段,即切片。

22.无论用户在控制台输入的是数字、单个字母还是任何其他信息,input()函数都将以字符串形式返回。

23.如果希望print()函数打印信息后不换行,可以通过设置print()函数的end参数修改结束标志。

24.可以使用参数sep来修改print()函数一次性输出的两个字符串之间的间隔字符。

25.Python程序的结构分为顺序结构、分支结构和循环结构3种。

26.循环结构中,用户可使用组合键Ctrl+C终止循环,退出程序。

27.Python语言使用关键字def定义函数。

28.模块的导入方法有两种,其一为:import 模块名;其二为:from 模块名 import……

29.Python中的模块分为3类:内置模块、第三方模块和自定义模块。

30.tutle是Python内置的一个标准模块,它提供了绘制线、圆及其他形状的函数。

31.tutle模块中画笔控制函数主要分为移动控制、角度控制和图形控制3种。

32.表示数字或数值的数据类型称为数字类型。

33.Python中可以使用4种进制表示整型,分别为:二进制、八进制、十进制和十六进制。

34.Python中,二进制数以“0B”或“0b”开头,八进制数以“0O”或“0o”开头,十六进制数以“0X”或“0x”开头。

35.Python中的浮点型是双精度的,每个浮点型数据占8个字节。

36.Python中,复数由“实部”和“虚部”两部分组成。

37.使用内置函数complex(real,imag)可以通过传入实部和虚部的方式定义复数。

38.复数可以通过conjugate()方法返回它的共轭复数。

39.按照不同的功能,运算符分为以下类型:算术运算符、赋值运算符、比较运算符、逻辑运算符、成员运算符和身份运算符。

40.Python中的逻辑运算符包括“or”、“and”、“not”3种。

41.成员运算符由in和not in。

42.Python的一切数据都可以视为对象,每个对象都有3个属性:类型、值和身份。

43.Python中的身份运算符为:is和is not。

44.。

45.math库提供了一个计算多个浮点数和的函数math.fsum()。

46.Python中的字符串是不支持动态修改的。

47.Python中,字符串的格式化可以使用格式符(%)和format()方法实现。

48.如果希望将字符串中所有的字符统一转换为小写或大写,可以通过lower()、upper()方法实现。

49.可以通过swapcase()方法将字符串中所有的大写字母转换为小写、小写字母转换为大写。

50.可以通过count()方法判断子串在字符串中出现的次数。

51.split()方法用于将字符串以分隔符分割成字符串列表。

52.设计程序时,自然语言、流程图和伪代码是3种较为常用的表示方法。

53.程序流程图是一种用图形、流程线和文字说明描述程序基本操作和控制流程的方法,是程序分析和过程描述的最基本方式。

54.程序流程图中,菱形表示判断框、圆角矩形表示起止框、直角矩形表示处理框。

55.分支结构又称为选择结构,此种结构必定包含判断条件。

56.根据判断条件的触发方式,循环结构可分为条件循环和遍历循环。

57.Python语言通过关键字if、elif和else来构成分支结构。

58.Python中任意非零的数值、非空的数据类型的布尔属性为True。

59.Python程序中的循环结构分为while循环和for循环两种。

60.while循环一般用于实现条件循环,for循环一般用于实现遍历循环。

61.Python语言中提供了两个保留字:break和continue,以实现循环控制。

62.Python语言使用保留字try和except组合成的分支结构以处理异常。

63.函数是组织好的、可重复使用的、用来实现单一或相关联功能的代码段。

64.函数大体可以划分为两类,一类是系统内置函数,另一类是自定义函数。

65.函数的使用可以分为函数的定义和函数的调用两部分。

66.Python使用def关键字定义函数。

67.函数的参数传递是指将实参传递给形参的过程。

68.Python中的函数支持以多种方式传递参数,包括位置传递、关键字传递、默认值传递、包裹传递、解包裹传递以及混合传递。

69.根据作用域的不同,变量可以划分为局部变量和全局变量。

70.在函数内部定义的变量称为局部变量。

71.在函数之外定义的变量称为全局变量。

72.在函数内部若要修改全局变量的值,需要提前使用保留字global进行声明。

73.除普通函数外,Python还有两种具有特殊形式的函数:匿名函数和递归函数。

74.Python中使用lambda关键字定义匿名函数。

75.递归是指函数对自身的调用。

76.递归可以分为两个阶段:递推和回溯。

77.递归有两个基本要素:基例和递归模式。

78.Python提供了专门操作日期与时间的datetime模块。

79.datetime类中提供了常用的格式化日期字符串的strftime()方法。

80.函数的特点主要体现在两个方面:代码抽象和模块化设计。

81.Python组合数据类型可分为3类:序列类型、集合类型和映射类型。

82.Python中的序列支持双向索引:正向递增索引和反向递减索引。

83.Python中的序列主要有3中:字符串、列表和元组。

84.集合中的元素具有3个特性:确定性、互异性和无序性。

85.Python中采用“键-值”形式存储数据间的映射关系。

86.字典是Python唯一的内建映射类型。

87.集合是可变的数据类型,集合中的元素可以被动态地增加或删除。

88.字典中的元素是可以动态修改的。

89.jieba是国内使用人数最多的中文分词工具。

90.文件是指存储在外部介质上的数据的集合。

91.按照编码方式的不同,计算机中的文件分为文本文件和二进制文件。

92.Python的sys模块中定义了3个标准文件,分别为stdin、stdout和stderr。

93.Python可通过内置函数open()打开文件。

94.数据可分为一维数据、二位数据和多维数据。

95.根据使用场景,网络爬虫可分为通用爬虫和聚焦爬虫两种。

 

 

 

读程序写结果

1、以代码的执行结果是:450

sum=0for i in range(100):    if(i%10):        continue    sum=sum+iprint(sum)

 

2、已知x=10,y=20,z=30;以下语句执行后x,y,z的值是:20 10 10

if x<y:    z=x     x=y     y=z

 

3、

x=50

def func():

   print(x)

   x=100

func()

程序执行的结果为(  C )。

A. 0       B. 100      C. 程序出现异常      D. 50

 

4、下列程序运行结果:{17, 11}

>>> a={1,11,21,31,17}

>>> b={0,11,20,17,30}

>>> a&b

 

5、下列程序运行结果:{0, 1, 20, 21, 30, 31}

>>> a={1,11,21,31,17}

>>> b={0,11,20,17,30}

>>> a^b

 

6、下列程序运行结果:{0, 1, 11, 17, 20, 21, 30, 31}

>>> a={1,11,21,31,17}

>>> b={0,11,20,17,30}

>>> a|b

 

7、程序执行的结果为:{0,1,5,6,9}

S={0,1,5,6,9}

S.add(9)

 

 

 

程序题

1、打印九九乘法表

for i in range(1,10):    for j in range(1,i+1):        print("%dx%d=%-2d"%(j,i,i*j),end=' ')    print(' ')

 

2、如果一个数恰好等于它的约数之和称其为完数请输出1000以内的所有完数

from sys import stdoutfor j in range(2,1001):    k=[]    n=-1    s==j    for i in range(1,j):        if j%i==0:            n+=1            s-=i            k.append(i)    if s==0:        print(j)        for i in range(n):            stdout.write(str(k[i]))            stdout.write(' ')        print(k[n])

 

3、编写程序,接收用户输入的数据,并输出该数据的绝对值。

i=int(input("请输入一个数字:"))if i<0:    i=-iprint("该数字的绝对值为:{}".format(i))

 

4、中国古代数学家张丘建在他的《算经》中提出了一个著名的“百钱买百鸡问题”:一只公鸡值五钱,一只母鸡值三钱,三只小鸡值一钱,现在要用百钱买百鸡,请问公鸡、母鸡、小鸡各多少只?编程解决以上问题。

for i in range(1,20):    for j in range(1,33):        for k in range(1,300):            if i+j+k==100 and i*5+j*3+k/3==100:                print("公鸡有{}只,母鸡有{}只,小鸡有{}".format(i,j,k))

 

5、只能由1和它本身整除的整数称为素数;若一个输出从左向右读与从右向左读是相同的数,则该素数为回文素数。编程求出2~100内的所有回文素数。

#创建函数,判断是否为素数def isPrime(n):    for i in range(2,n+1):        if n%i==0:            return False    else:        return True#判断是否为回文素数for i in range(2,1001):    if isPrime(i) and str(i)=str(i)[::-1]:    print(i)

 

6、已知三角形三边长度分别为a、b、c,编写函数,用来判断三角形是否为直角三角形。

def is_triangle(a,b,c):    if a*a+b*b==c*c or a*a+c*c==b*b or b*b+c*c==a*a:        print("是直角三角形")    else:        print("不是直角三角形")

 

7、若一个三位数每一位数字的3次幂之和都等于它本身,则这个三位数被称为水仙花数。例如153是水仙花数,各位数字的立方和13+53+33=153。编程求出所有的水仙花数。

for i in range(100,1000):    hun=int(i//100)    ten=int((i//10)%10)    one=int(i%10)    if hun*hun*hun+ten*ten*ten+one*one*one==i:        print(i)

 

8、按照%H-%M-%S %Y-%m-%d日期格式输出计算机当前的本地日期与时间。

from datetime import datetimedate_time=datetime.now()date_time.strftime("%H-%M-%S %Y-%m-%d")

 

9、编写函数,输出1~100以内的所有素数。

# 编写函数,判断是否为素数def isPrime(n):    for i in range(2, n):        for j in range(2, i):            if i % j == 0:                break        else:            print(i)n = int(input("请输入所取素数的截止范围:"))isPrime(n)

 

10、编写程序,随机生成5个0~10之间不相等的数。

import randoms=[]while len(s)<5:    a=random.randint(0,10)    if a not in s:        s.append(a)print(s)

 

 

简答题

1、简述编译执行和解释执行的特点。

答:编译执行的特点是:一次解释,多次执行。源程序经编译后不再需要编译器和源代码,目标程序可以在同类型操作系统中自由使用。解释执行的特点是:边解释,边执行。解释器中通常不会集成过多优化技术,以免解释过程过多耗费时间,影响程序的执行速度

 

2、简述Python语言的优缺点。

答:Python语言的优点:(1)简洁;(2)语法优美;(3)简单易学;(4)开源;(5)可移植;(6)扩展性良好;(7)类库丰富;(8)通用灵活;(9)模式多样;(10)良好的中文支持。

Python语言的缺点:(1)执行效率不高,Python程序的效率只有C语言程序的1/10;(2)Python 3.X和Python 2.X不兼容。

 

3、简述Python应用的领域。

答:Python具有简单易学、类库丰富、通用灵活、扩展性良好等优点,常被应用在以下领域:(1)Web开发;(2)科学计算;(3)游戏开发;(4)自动化运维;(5)多媒体应用;(6)爬虫开发。

 

4、简述Python程序的运行方式。

答:Python程序的运行方式有两种:交互式和文件式。交互式是指Python解释器逐行接受Python代码并即时响应;文件式也称批量式,指先将Python代码保存在文件中,再启动Python解释器批量解释代码。

 

5、简述使用函数的好处。

答:使用函数的好处主要体现的以下几方面:

1)将程序分解成更小的块

2)降低理解难度,提高程序质量

3)减小程序体积,提高代码可重用性

4)降低了软件开发和维护的成本

 

6、函数混合传递的基本原则有什么?

答:函数混合传递使用的基本原则如下:

1)先按照参数的位置传递

2)再按照参数的关键字传递

3)最后按包裹的形式传递

 

7、函数的混合传递过程中需要注意什么问题?

答:函数使用混合传递时,需要注意以下内容:

1)若定义函数时参数有默认值,则带有默认值的参数必须跟在必选参数的后面。

2)若调用函数时需要混合使用位置传递和关键字传递,则必选参数要出现在关键字参数之前。

 

8、Python中的作用域大致可以分为哪几种?其优先级顺序是什么样的?

答:Python中的作用域大致可以分为以下4种:

1)L(local):局部作用域

2)E(enclosing):嵌套作用域

3)G(global):全局作用域

4)B(built-in):内置作用域

其优先级是:局部作用域>嵌套作用域>全局作用域>内置作用域

 

9、普通函数与匿名函数的区别是什么?

答:与普通函数相比,匿名函数的体积更小,功能更单一,它只是一个为简单任务服务的对象。它们的主要区别如下:

1)普通函数在定义时有名称,而匿名函数没有名称。

2)普通函数的函数体中包含有多条语句,而匿名函数的函数体只能是一个表达式。

3)普通函数可以实现比较复杂的功能,而匿名函数可实现的功能比较简单。

4)普通函数能被其他程序使用,而匿名函数不能被其他程序使用。

 

10、请简述度量模块划分的指标及如何度量。

答:在模块化设计中,通常会用如下两个指标从不同的角度对模块的划分情况加以度量:

1)内聚度:对模块内各元素之间相互依赖性大小的度量

2)耦合度:对模块之间相互依赖程度的度量。

模块划分时应当尽可能降低不同模块间的关联,提升单一模块自身的功能性,做到“高内聚,低耦合”。

 

11、字典的键必须遵守什么原则?

答:字典的键必须遵守以下两个原则:

1)每个键只能对应一个值,不允许同一个键在字典中重复出现。

2)字典中的键是不可变类型。

 

12、简述序列、集合和映射类型的区别。

答:(1)序列存储一组有序的元素,每个元素的类型可以不同,通过索引可以锁定序列中的指定元素

2)集合同样存储一组数据,它要求其中的数据必须唯一,但不要求数据间有序

3)映射类型的数据中存储的每个元素都是一个键值对,通过键值对的键可以迅速获得对应的值

 

 

 

 

 

程序设计题

1、一盘游戏中,两人轮流掷骰子5次,并将每次掷出的点数累加,5局之后,累计点数较大者获胜,点数相同则为平局。根据此规则实现掷骰子游戏,并算出50盘之后的胜利者(50盘中赢得盘数最多的,即最终胜利者)。

    import random as r#创建函数,返回5次掷骰子的点数和def Play():    x,y=(0,0)    for i in range(1,6):        x=x+r.randint(1,6)        y=y+r.randint(1,6)    if x>y:        return 1    elif x==y:        return 2    else:        return 0#计算50次比较后的结果i,m,n=1,0,0while i<=50:    jieguo=Play()    if jieguo==1:        m=m+1    elif jieguo==0:        n=n+1    i=i+1if m>n:    print("甲方是胜利者。")elif m==n:    print("甲乙双方平局。")else:    print("乙方是胜利者。")


    2、古代有一个梵塔,塔内有A、B、C 3个基座,A座上有64个盘子,盘子大小不等,大的在下,小的在上。有人想把这64个盘子从A座移动到C座,但每次只允许移动一个盘子,并且在移动的过程中,3个基座上的盘子始终保持大盘在下,小盘在上。在移动过程中盘子可以放在任何一个基座上,不允许放在别处。编写函数,根据用户输入盘子的个数,显示移动的过程。

      def move(n,A,B,C):    if n==1:        print(A,'---->',C)    else:        move(n-1,A,C,B)        print(A,'---->',C)        move(n-1,B,A,C)move(64,'a','b','c')


       

       

      3、编写函数,计算输入的字符串中的数字、字母、空格和其他字符的个数。

        def func(str):    alpha=num=space=other=0    for char in str:        if char.isdigit():            num+=1        elif char.isalpha():            alpha+=1        elif char==' ':            space+=1        else:            other+=1    print("该字符串中数字有{}个,字母有{}个,空格有{}个,其他字符有{}个".format(num,alpha,space,other))str=input("请输入一个字符串:")func(str)


        文章转载自十一点前必睡,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

        评论