选择题
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)




