一、填空题
1.Python是面向 的高级语言。
2.Python可以在多种平台运行,这体现了Python语言 的特性。
3.Python模块的本质是 文件。
4.使用 关键字可以在当前程序中导入模块。
5.使用 语句可以将指定模块中的全部内容导入当前程序。
二、判断题
1.相比C++程序,Python程序的代码更加简洁、语法更加优美,但效率较低。( )
2.“from 模块名 import *”语句与“import 模块名”都能导入指定模块的全部内容,相比之下,from…import *导入的内容无须指定模块名,可直接调用,使用更加方便,因此更推荐在程序中此种方式导入指定模块的全部内容。( )
3.Python3.x版本完全兼容Python2.x。( )
4.PyCharm是Python的集成开发环境。( )
5.模块文件的后缀名必定是.py。( )
三、选择题
1.下列选项中,不是Python语言特点的是( )。
A.简洁 B.开源 C.面向过程 D.可移植
2.下列哪个不是Python的应用领域( )。
A.Web开发
B.科学计算
C.游戏开发
D.操作系统管理
3.下列关于Python的说法中,错误的是( )。
A.Python是从ABC发展起来的
B.Python 是一门高级计算机语言
C.Python只能编写面向对象的程序
D.Python程序的效率比C程序的效率低
四、简答题
1.简述Python的特点。
2.简单介绍如何导入与使用模块。
3.简述Python中模块、包和库的意义。
五、编程题
请在Python开发工具中输入并运行以下程序,查看程序运行结果。
1.整数求和。输入整数n,计算1~n之和。
n = int(input("请输入一个整数:"))
sum = 0
for i in range(n):
print("1~%d的求和结果为%d"%(n,sum))
2.整数排序。输入三个整数,把这三个数由小到大输出。
l = []
for i in range(3):
请输入整数:'))
l.sort()
print(l)
3.打印九九乘法表。
for i in range(1,10):
print("%d×%d=%-2d "%(j,i,i*j),end = '')
4.绘制多个起点相同单大小不同的五角星,如图1-29所示。
图1-29 重叠五角星
import turtle as t
def draw_fiveStars(leng):
向前走50
向右转144度
count += 1
设置星星大小
draw_fiveStars(leng)
def main():
if __name__ == '__main__':
第2章Python基础
一、填空题
1.Python中建议使用______个空格表示一级缩进。
2.布尔类型的取值包括______和______。
3.使用______函数可查看数据的类型。
4.float()函数用于将数据转换为______类型的数据。
5.若a=3,b=-2,则a+=b的结果为______。
二、判断题
1.Python中可以使用关键字作为变量名。( )
2.变量名可以以数字开头。( )
3.Python标识符不区分大小写。( )
4.布尔类型是特殊的浮点型。( )
5.复数类型的实数部分可以为0。( )
三、选择题
1.Python中使用( )符号表示单行注释。
A.#
B./
C.//
D.
2.下列选项中,属于Python关键字的是( )。
A.name
B.if
C.is
D.and
3.下列选项中,属于数值类型的是( )。
A.0
B.1.0
C.1+2j
D.以上全部
4.若将2转换为0b10,应该使用( )函数。
A.oct()
B.bin()
C.hex()
D.int()
5.下列选项中,不属于Python数据类型的是( )。
A.bool
B.dict
C.string
D.set
四、简答题
1.请简单介绍Python中的数据类型和数字类型。
2.请简述Python变量的命名规范。
3.请简单介绍Python中的运算符。
五、编程题
1.编写程序,要求程序能根据用户输入的数据计算圆的面积(圆的面积公式:),并分别输出圆的直径和面积。
2.已知某煤场有29.5顿煤,先用一辆载重4顿的汽车运3次,剩下的用一辆载重为2.5顿的汽车运送,请计算还需要运送几次才能送完?编写程序,解答此问题。
第3章流程控制
一、填空题
1.________语句是最简单的条件语句。
2.Python中的循环语句有________和________循环。
3.若循环条件的值变为________,说明程序进入无限循环。
4.________循环一般用于实现遍历循环。
5.________语句可以跳出本次循环,执行下一次循环。
二、判断题
1.if-else语句可以处理多个分支条件。( )
2.if语句不支持嵌套使用。( )
3.elif可以单独使用。( )
4.break语句用于结束循环。( )
5.for循环只能遍历字符串。( )
三、选择题
1.下列选项中,运行后会输出1、2、3的是( )。
A.
for i in range(3):
print(i)
B.
for i in range(2):
print(i + 1)
C.
nums = [0, 1, 2]
for i in nums:
print(i + 1)
D.
i = 1
while i < 3:
print(i)
i = i + 1
2.现有如下代码:
sum = 0
for i in range(100):
if(i % 10):
continue
sum = sum + i
print(sum)
若运行代码,输出的结果为( )。
A.5050
B.4950
C.450
D.45
3.已知x=10,y=20,z=30;以下代码执行后x、y、z的值分别为( )。
if x < y:
z = x
x = y
y = z
A.10,20,30
B.10,20,20
C.20,10,10
D.20,10,30
4.已知x与y的关系如表3-1所示:
表3-1 x与y的关系
| x | y |
| x<0 | x 1 |
| x=0 | x |
| x>0 | x+1 |
A.
y = x + 1
if x >= 0:
if x == 0:
y = x
else:
y = x - 1
B.
y = x - 1
if x! = 0:
if x > 0:
y = x + 1
else:
y = x
C.
if x <= 0:
if x < 0:
y = x - 1
else:
y = x
else:
y = x + 1
D.
y = x
if x <= 0:
if x < 0:
y = x - 1
else:
y = x + 1
5.下列语句中,可以跳出循环结构的是( )。
A.continue
B.break
C.if
D.while
四、简答题
1.简述break和continue的区别。
2.简述while和for语句的区别。
五、编程题
1.编写程序,实现利用while循环输出100以内偶数的功能。
2.编写程序,实现判断用户输入的数是正数还是负数的功能。
3.编写程序,实现输出100以内质数的功能。
第4章字符串
一、填空题
1.定义字符串可使用 、双引号和三引号包裹。
2.删除字符串中头部的空格,可以使用 方法。
3.拼接字符串可以使用 方法和运算符 。
二、判断题
1.字符串中不可以包含特殊字符。( )
2.无论是使用单引号或双引号定义的字符串,使用print()输出的结果一致。( )
3.rjust()方法用于将字符串的字符以右对齐方式进行显示。( )
4.find()方法返回-1说明子串在指定的字符串中。( )
5.strip()方法默认会删除字符串头尾的空格。( )
6.如果字符串中包含三引号,可以使用单引号包裹这个字符串。( )
三、选择题
1.Python中使用( )转义字符。
A./
B.\
C.$
D.%
2.下列选项中,用于格式化字符串的是( )。
A.%
B.format()
C.f-string
D.以上全部
3.关于字符串的说法中,下列描述错误的是( )。
A.字符串创建后可以被修改
B.字符串可以使用单引号、双引号和三引号定义
C.转义字符\\n表示换行
D.格式符均由%和说明转换类型的字符组成
4.下列方法中,可以将字符串中的字母全部转换为大写的是( )。
A.upper()
B.lower()
C.title()
D.capitalize()
5.下列选项中,不属于字符串的是( )。
A."1"
B.'python'
C."""^"""
D.'1'.23
四、简答题
1.请简述什么是字符串。
2.请简述Python中格式化字符串的几种方式。
3.请简述Python中字符串对齐的几种内置方法。
五、编程题
1.编写程序,已知字符串s = 'AbcDeFGhIJ',请计算该字符串中小写字母的数量。
2.编写程序,检查字符串" Life is short. I use python"中是否包含字符串"python",若包含则替换为"Python"后输出新字符串,否则输出原字符串。
第5章组合数据类型
一、填空题
1.使用内置的 函数可创建一个列表。
2.Python中列表的元素可通过 或 两种方式访问。
3.使用内置的 函数可创建一个元组。
4.字典元素由 和 组成。
5.通过Python的内置方法 可以查看字典键的集合。
6.调用items()方法可以查看字典中的所有 。
二、判断题
1.列表只能存储同一类型的数据。( )
2.元组支持增加、删除和修改元素的操作。( )
3.列表的索引从1开始。( )
4.字典中的键唯一。( )
5.集合中的元素无序。( )
6.字典中的元素可通过索引方式访问。( )
三、选择题
1.下列方法中,可以对列表元素排序的是( )。
A.sort()
B.reverse()
C.max()
D.list()
2.阅读下面的程序:
li_one = [2, 1, 5, 6]
print(sorted(li_one[:2]))
运行程序,输出结果是( )。
A.[1 ,2]
B.[2 ,1]
C.[1 ,2 ,5 ,6]
D.[6 ,5 ,2 ,1]
3.下列方法中,默认删除列表最后一个元素的是( )。
A.del
B.remove()
C.pop()
D.extend()
4.阅读下面程序:
lan_info = {'01': 'Python', '02': 'Java', '03': 'PHP'}
lan_info.update({'03': 'C++'})
print(lan_info)
运行程序,输出结果是( )。
A.{'01': 'Python', '02': 'Java', '03': 'PHP'}
B.{'01': 'Python', '02': 'Java', '03': 'C++'}
C.{'03': 'C++','01': 'Python', '02': 'Java'}
D.{'01': 'Python', '02': 'Java'}
5.阅读下面程序:
set_01 = {'a', 'c', 'b', 'a'}
set_01.add('d')
print(len(set_01))
运行程序,输出结果是( )。
A.5
B.3
C.4
D.2
四、简答题
1.列举Python中常用的组合数据类型,简单说明它们的异同。
2.简单介绍删除字典元素的几种方式。
五、编程题
1.已知列表li_num1 = [4, 5, 2, 7]和li_num2 = [3, 6],请将这两个列表合并为一个列表,并将合并后的列表中的元素按降序排列。
2.已知元组tu_num1 = ('p', 'y', 't', ['o', 'n']),请向元组的最后一个列表中添加新元素“h”。
3.已知字符串str= 'skdaskerkjsalkj',请统计该字符串中各字母出现的次数。
4.已知列表li_one = [1,2,1,2,3,5,4,3,5,7,4,7,8],编写程序实现删除列表li_one中重复数据的功能。
第6章函数
一、填空题
1.________是组织好的、实现单一功能或相关联功能的代码段。
2.匿名函数是一类无须定义________的函数。
3.若函数内部调用了自身,则这个函数被称为________。
4.Python使用________关键字可以将局部变量声明为全局变量。
5.全局变量是指在函数________定义的变量。
二、判断题
1.函数在定义完成后会立刻执行。( )
2.变量在程序的任意位置都可以被访问。( )
3.函数可以提高代码的复用性。( )
4.任何函数内部都可以直接访问和修改全局变量。( )
5.函数的位置参数有严格的位置关系。( )
三、选择题
1.下列关于函数的说法中,描述错误的是( )。
A.函数可以减少重复的代码,使得程序更加模块化
B.不同的函数中可以使用相同名字的变量
C.调用函数时,实参的传递顺序与形参的顺序可以不同
D.匿名函数与使用关键字def定义的函数没有区别
2.Python使用( )关键字定义一个匿名函数。
A.function
B.func
C.def
D.lambda
3.Python使用( )关键字自定义一个函数。
A.function
B.func
C.def
D.lambda
4.请阅读下面的代码:
num_one = 12
def sum(num_two):
print(sum(10))
运行代码,输出结果为( )。
A.102
B.100
C.22
D.12
5.请阅读下面的代码:
def many_param(num_one, num_two, *args):
many_param(11, 22, 33, 44, 55)
运行代码,输出结果为( )。
A.(11,22,33)
B.(22,33,44)
C.(33,44,55)
D.(11,22)
四、简答题
1.简述位置参数、关键字参数、默认参数传递的区别。
2.简述函数参数混合传递的规则。
3.简述局部变量和全局变量的区别。
五、编程题
1.编写函数,输出1~100中偶数之和。
2.编写函数,计算20*19*18*…*3的结果。
3.编写函数,判断用户输入的整数是否为回文数。回文数是一个正向和逆向都相同的整数,如123454321、98。
4.编写函数,判断用户输入的三个数字是否能构成三角形的三条边。
5.编写函数,求两个正整数的最小公倍数。
第7章文件与数据格式
一、填空题
1.打开文件对文件进行读写后,应调用 方法关闭文件以释放资源。
2.seek()方法用于指定文件读写位置,该方法的 参数表示要偏移的字节数。
3.readlines()方法读取整个文件内容后会返回一个 。
4.os模块中的mkdir()函数用于 。
5.在读写文件的过程中, 方法可以获取当前的读写位置。
二、判断题
1.文件打开的默认方式是只读。( )
2.以读写方式打开一个文件,若文件已存在,文件内容会被清空。( )
3.使用write()方法写入文件时,数据会追加到文件的末尾。( )
4.实际开发中,目录操作需要使用os模块中的函数。( )
5.read()方法只能一次性读取文件中的所有数据。( )
三、选择题
1.打开一个已有文件,在文件末尾添加信息,正确的打开方式为( )。
A.r
B.w
C.a
D.w+
2.假设文件不存在,如果使用open()方法打开文件会报错,那么该文件的打开方式是下列哪种?( )
A.r
B.w
C.a
D.w+
3.假设file是文本文件对象,下列哪个选项可读取file的一行内容?( )
A.file.read()
B.file.read(200)
C.file.readline()
D.file.readlines()
4.下列选项中,用于向文件中写入数据的是( )。
A.open()
B.write()
C.close()
D.read()
5.下列选项中,用于获取当前目录的是( )。
A.open()
B.write()
C.getcwd()
D.read()
6.下列代码要打开的文件应该在( )。
f = open('itheima.txt', 'w')
A.C盘根目录
B.D盘根目录
C.Python安装目录
D.程序所在目录
7.若文本文件abc.txt中的内容如下:
abcdef
阅读下面的程序:
file = open('abc.txt', 'r')
data = file.readline()
data_list = list(data)
print(data_list)
以上程序的执行结果为( )。
A.['abcdef']
B.['abcdef\\n']
C.['a', 'b', 'c', 'd', 'e', 'f']
D.['a', 'b', 'c', 'd', 'e', 'f', '\\n']
四、简答题
1.请简述文本文件和二进制文件的区别。
2.请简述读取文件3种方法read()、readline()、readlines()的区别。
五、编程题
1.读取一个文件,打印除了以#开头的行之外的所有行。
2.编写程序,实现文件备份功能。
3.编写程序,读取存储若干数字的文件,对其中的数字进行排序后输出。
第8章面向对象
一、填空题
1.Python中使用________关键字来声明一个类。
2.类的成员包括________和________。
3.Python可以通过在类成员名称之前添加________的方式将公有成员改为私有成员。
4.被继承的类称为________,继承其他类的类称为________。
5.子类中使用________函数可以调用父类的方法。
二、判断题
1.Python通过类可以创建对象,有且只有一个对象。( )
2.实例方法可以由类和对象调用。( )
3.子类能继承父类全部的属性和方法。( )
4.创建类的对象时,系统会自动调用构造方法进行初始化。( )
5.子类中不能重新实现从父类继承的方法。( )
三、选择题
1.下列关于类的说法,错误的是( )。
A.类中可以定义私有方法和属性
B.类方法的第一个参数是cls
C.实例方法的第一个参数是self
D.类的实例无法访问类属性
2.下列方法中,只能由对象调用的是( )。
A.类方法
B.实例方法
C.静态方法
D.析构方法
3.下列方法中,负责初始化属性的是( )。
A.__del__()
B.__init__()
C.__init()
D.__add__()
4.下列选项中,不属于面向对象三大重要特性的是( )。
A.抽象
B.封装
C.继承
D.多态
5.请阅读下面的代码:
class Test:
+= 20
test= Test()
test.print_num()
运行代码,输出结果为( )。
A.20
B.40
C.21
D.41
四、简答题
1.简述实例方法、类方法、静态方法的区别。
2.简述构造方法和析构方法的特点。
3.简述面向对象的三大特性。
五、编程题
1.设计一个Circle(圆)类,该类中包括属性radius(半径),还包括__init__()、get_perimeter()(求周长)和get_area()(求面积)共三个方法。设计完成后,创建Circle类的对象求圆的周长和面积。
2.设计一个Course(课程)类,该类中包括number(编号)、name(名称)、teacher(任课教师)、location(上课地点)共4个属性,其中location是私有属性;还包括__init__()、show_info()(显示课程信息)共两个方法。设计完成后,创建Course类的对象显示课程的信息。
第9章异常
一、填空题
1.Python中所有异常都是______的子类。
2.当程序中使用了一个未定义的变量时会引发______异常。
3.自定义异常需要继承______类。
4.若不满足assert语句中的表达式会引发______异常。
二、判断题
1.try-except语句中只能有一个except子句。( )
2.finally子句在任何情况下都会被执行。( )
3.raise语句可以抛出指定的异常。( )
4.断言语句中表达式的值为True时会触发AssertionError异常。( )
5.try-except语句可以有多个finally子句。( )
三、选择题
1.下列选项中,关于异常描述错误的是( )。
A.错误就是异常,异常就是错误
B.异常是程序运行时产生的
C.IndexError是Exception的子类
D.except子句一定位于else和finally子句之前
2.当try子句中的代码没有任何错误时,一定不会执行( )子句。
A.try
B.except
C.else
D.finally
3.若执行代码1/0,会引发什么异常?( )
A.ZeroDivisionError
B.NameError
C.KeyError
D.IndexError
4.在完整的异常捕获语句中,各子句的顺序为( )。
A.try→except→else→finally
B.try→else→except→finally
C.try→except→finally→else
D.try→else→finally→except
5.下列代码运行后会引发( )异常。
num_li = [1, 2, 3]
print(num_li[3])
A.SyntaxError
B.IndexError
C.KeyError
D.NameError
四、简答题
1.请简述什么是异常。
2.请简述本章介绍的4种Exception类异常并说明其产生的原因。
3.请写出raise语句抛出异常的3种格式,并简单介绍每种格式的功能。
五、编程题
1.编写程序,计算圆的面积,若半径为负值则抛出异常(圆的面积公式:)。
2.编写程序,输入三角形三条边判断能否构成直角三角形,若能构成则计算三角形的面积和周长,否则引发异常。
第10章Python计算生态与常用库
一、填空题
1. 是一种按照一定的规则,自动从网络上抓取信息的程序或者脚本。
2. 指用适当的统计分析方法对收集来的大量数据进行汇总与分析,以求最大化地发挥数据的作用。
3.Python计算生态通过 、 、 库为数据分析领域提供支持。
4.random是Python的 库,pygame是 库。
5.通过Python的 函数可以初始化所有子模块。
二、判断题
1.Python开发人员可以使用内置库,也可以使用第三方库。( )
2.Python程序中使用内置库与第三方库的方式相同,但使用第三方库之前需要先将库导入程序。( )
3.自定义库只能由自己在本地使用。( )
4.时间差的计算没有意义。( )
5.jieba是一个中文分词库,但该库同时也可以对英文进行分词。( )
6.pygame库中的init()函数可以初始化所有子模块。( )
7.time模块是Python的内置模块,可以在程序中直接使用。( )
三、选择题
1.下列选项中,用于判断文件是作为脚本执行还是被导入其他程序的是( )。
A.__init__
B.__name__
C.__exce__
D.__main__
2.下列选项中,不会在发布自定义库时用到的是( )。
A.python setup.py build
B.python setup.py sdist
C.python setup.py install
D.以上全部
3.下列方法中,返回结果是时间戳的是( )。
A.time.sleep()
B.time.localtime()
C.time.strftime()
D.time.ctime()
4.阅读下面的程序:
gmtime = time.gmtime()
time.asctime(gmtime)
下列选项中,可能为以上程序输出结果的是( )。
A.'Mon Apr 13 02:05:38 2020'
B.time.struct_time(tm_year=2020, tm_mon=4, tm_mday=11, tm_hour=11, tm_min=54, tm_sec=42, tm_wday=5, tm_yday=102, tm_isdst=-1)
C.3173490635.1554217
D.'11:54:42'
5.阅读下面程序:
下列选项中,不可能为以上程序输出结果的是( )。
A.1
B.4
C.7
D.9
四、简答题
1.简单列举Python计算生态覆盖的领域(至少5个)。
2.简述介绍Python中库、包和模块的概念。
3.若想对两个表示时间的变量进行计算,应将时间转换为什么格式?为什么?
五、编程题
1.读取存储《哈姆雷特》英文剧本的文件,分析统计其中单词出现的频率,使用turtle模块绘制词频统计结果,以柱状图的形式展示统计结果。统计效果如图10-24所示。
图10-1统计结果参考图示
2.编写程序,实现一个根据可根据指定文本文件和图片文件生成不同形状词云的程序。
第11章Python概述参
一、填空题
6.对象
7.可移植性
8.Python
9.import
10.from…import *
二、判断题
7.√
8.×
9.×
10.√
11.√
三、选择题
6.C
7.D
8.C
四、简答题
3.Python主要的特点有代码简洁、语法优美、简单易学、开源、可移植、类库丰富、中文支持等。
4.Python中可以使用关键字import导入一个或多个模块,也可以使用from 模块名 import * 导入模块中的全部内容。
5.模块是最基础的代码组织方式,每个包含有组织的代码片段的.py文件都是一个模块;包以类似目录的机构组织模块文件或子包;库是一个抽象的概念,它是指具有相关功能模块的集合。
五、编程题
省略,代码详见教材。
第12章Python基础
六、填空题
5.4
6.True False
7.type
8.浮点
9.1
七、判断题
1.×
2.×
3.×
4.×
5.√
八、选择题
1.A
2.A
3.D
4.B
5.C
九、简答题
1.根据数据存储形式的不同,Python使用不同的数据类型存储不同类型的数据。数字类型提供了数值的存储,Python中的数字类型又包含整型、浮点型、复数类型和布尔类型。
2.常量名使用大写的单个单词或由下画线连接的多个单词(如ORDER_LIST_LIMIT);模块名、函数名使用小写的单个单词或由下画线连接的多个单词(如low_with_under);类名使用大写字母开头的单个或多个单词(如Cat、CapWorld)。
3.Python运算符是一种特殊的符号,主要用于实现数值之间的运算。根据操作数数量的不同,运算符可分为单目运算符、双目运算符;根据功能的不同,运算符可分为算术运算符、赋值运算符、比较运算符、逻辑运算符和成员运算符。
十、编程题
答案:
radius = float(input("请输入园的半径:"))
# 直径
diameter = 2 * radius
# 面积
area = 3.14 * radius * radius
print('园的直径为:', diameter)
print('园的面积为:', area)
答案:
frequency = (29.5 - 4 * 3) / 2.5
print("还需运送的次数为:",frequency)
第13章流程控制
一、填空题
1.if
2.for ,while
3.True
4.for
5.continue
二、判断题
1.×
2.×
3.×
4.×
5.×
三、选择题
1.C
2.C
3.C
4.C
5.B
四、简答题
1.break语句用于结束整个循环;continue的作用是用来结束本次循环,紧接着执行下一次的循环。
2.while语句一般用于实现条件循环;for语句一般用于实现遍历循环。
五、编程题
1.编写程序,实现利用while循环输出100以内偶数的功能。
num = 0
while num <= 100:
2.编写程序,实现判断用户输入的是整数还是负数的功能。
num = int(input("请输入一个数:"))
if num > 0:
输入的数是正数")
elif num < 0:
输入的数是负数")
else:
输入的书是零")
3.编写程序,实现输出100以内质数的功能。
i = 2
for i in range(2, 100):
第14章字符串
一、填空题
1.单引号
2.ltrip
3.join,+
二、判断题
1.×
2.√
3.√
4.×
5.√
6.√
三、选择题
1.B
2.D
3.A
4.A
5.D
四、简答题
1.字符串是由字母、符号或者数字组成的字符序列,Python支持使用单引号、双引号和三引号定义字符串。
2.Python有三种格式化字符串的方式:使用%格式化、使用format()方法格式化和使用f-string格式化字符串,其中使用%格式化格式为format % values;format()方法格式为str.format(values);f-string只需要在字符串前加上引领的字符f或F即可。
3.Python提供了center()、ljust()、rjust()这3个方法来设置字符串的对齐方式,center()方法表示居中对齐显示;ljust()方法表示左对齐显示;rjust()方法表示右对齐显示。
五、编程题
答案:
s = 'AbcDeFGhIJ'
count = 0
for i in s:
print(count)
答案:
string = " Life is short. I use python"
if string.find('python'):
else:
第15章组合数据类型
一、填空题
1.list
2.索引,切片
3.tuple
4.键,值
5.keys()
6.值的集合
二、判断题
1.×
2.×
3.×
4.√
5.√
6.×
三、选择题
1.A
2.A
3.C
4.B
5.C
四、简答题
1.Python中组合类型有列表、元组、字典和集合,这些数据类型都可以存储任意个元素。从访问元素来看,列表、元组和集合都可以通过索引获取数据,而字典类型数据没有索引;从存储数据来看,列表中的元素可以随意更改;存储在元组中的元素不可更改;存储在字典中键具有唯一性;存储在集合中的元素具有不重复性。
2.字典中移除元素的方式有3种,分别为pop()、popitem()和clear(),pop()方法可以根据指定的键值删除字典中指定的元素;popitem()方法会随机删除字典中的元素;clear()方法会清空字典中的元素。
五、编程题
答案:
li_num1 = [4, 5, 2, 7]
li_num2 = [3, 6]
li_num1.extend(li_num2)
li_num1.sort(reverse=True)
print(li_num1)
答案:
tu_num1 = ('p', 'y', 't', ['o', 'n'])
tu_num1[len(tu_num1)-1].append('h')
print(tu_num1)
答案:
dict_data = dict()
string= 'skdaskerkjsalkj'
for elem in string:
print(dict_data)
答案:
li_one = [1,2,1,2,3,5,4,3,5,7,4,7,8]
new_li =[]
for i in li_one:
print(new_li)
第16章函数
一、填空题
1.函数
2.函数名
3.递归函数
4.global
5.外
二、判断题
1.×
2.×
3.√
4.×
5.√
三、选择题
1.C
2.D
3.C
4.B
5.C
四、简答题
1.位置参数会将实参依次传递给形参;关键字参数是通过“形参=实参”形式将实参传递给形参;默认参数是在定义函数时,为形参赋值。
2.混合传递参数规则为:优先按位置参数传递;然后按照关键字参数方式传递;之后按照默认参数传递;最后按照打包传递方式传递。
3.根据作用域的不同,变量可以分为全局变量和局部变量。全局变量指的是可以在整个程序的范围内起作用;局部变量通常指在函数内定义的变量,该变量只能在函数体中使用。
五、编程题
答案:
def event_num_sum():
print(event_num_sum())
答案:
def func(num):
result = func(20)
print(result)
答案:
def is_palindrome():
请输入整数:\\n')
print(is_palindrome())
答案:
def triangle():
请输入第一个边长:\\n"))
请输入第二个边长:\\n"))
请输入第三个边长:\\n"))
能构成三角形"
不能构成三角形"
print(triangle())
答案:
def lcm(x, y):
获取最大的数
# 获取用户输入
num1 = int(input("输入第一个数字: "))
num2 = int(input("输入第二个数字: "))
print(num1, "和", num2, "的最小公倍数为", lcm(num1, num2))
第17章文件与数据格式化
一、填空题
1.close()
2.offset
3.列表
4.创建目录
5.tell()
二、判断题
1.√
2.×
3.×
4.√
5.×
三、选择题
1.C
2.D
3.C
4.B
5.C
6.D
7.C
四、简答题
1.根据数据的逻辑结构不同,计算机中的文件可分为文本文件和二进制文件,其中文本文件用于存储文本字符数据,而二进制文件用于存储图像、音频、视频等数据。
2.read()方法可以从指定文件中读取指定字节的数据;readline()方法可以从指定文件中读取一行数据;readlines()方法可以一次性读取文件中的所有数据,若读取成功返回一个列表,文件中的每一行对应列表中的一个元素。
五、编程题
答案:
def file_read():
print(file_read())
答案:
passwordBook = {}
def add(password, value):
该密码已存在")
def delete(password):
该密码不存在")
def modify(password, newValue):
该密码不存在")
def find(value):
该网址存在")
该网址不存在")
def save():
f = open("password.txt
def printInfo():
密码簿的功能如下:")
添加")
删除")
修改")
查找")
i = 0
while i<5:
请输入要选择的功能:"))
请输入存入的网址:")
请输入密码:")
请输入密码:")
请输入密码:")
请输入新的网址:")
请输入要查找的网址:")
答案:
def num_sort():
num_sort()
第18章面向对象
一、填空题
1.class
2.类方法,类属性
3.双下画线
4.父类或基类,子类或派生类
5.super()
二、判断题
1.×
2.√
3.×
4.√
5.×
三、选择题
1.D
2.D
3.B
4.A
5.A
四、简答题
1.类方法需要使用@classmethod进行标识,该方法可以访问类属性,无法访问实例属性,可以通过类实例和类进行调用。静态方法使用@staticmethod进行标识,该方法无法访问实例属性和类属性,起到类似于函数的作用,使用类或者类实例进行调用。实例方法直接在类中使用def进行定义,可以访问其实例属性和类属性,使用类实例进行调用。如果要修改实例属性的值,就直接使用实例方法;如果要修改类属性的值,就直接使用类方法;如果是辅助功能,比如打印菜单,这时可以考虑使用静态方法,可以在不创建对象的前提下使用。
2.构造方法为__init__()作用是初始化对象的属性,析构方法为__del__()作为是释放类所占用的资源。
3.封装是指隐藏类的实现细节,只提供访问类成员的公开接口;继承是指在一个现有类的基础上构建一个新的类;多态是指在不考虑对象类型的情况下使用对象。
五、编程题
答案:
class Circle:
circle = Circle((0,0),5,"蓝色")
print(circle.perimeter())
print(circle.area())
答案:
class Course:
语文"
张老师"
号教学楼3层305室"
课程编号:%d
课程名称:%s
任课教师:%s
上课地点:%s
course = Course()
print(course.show_info())
第19章异常
一、填空题
1.BaseException
2.NameError
3.Exception
4.AssertionError
二、判断题
1.×
2.√
3.√
4.×
5.×
三、选择题
1.A
2.B
3.A
4.A
5.B
四、简答题
1.在Python中,程序在执行的过程中产生的错误称为异常,比如列表索引越界、打开不存在的文件等。
2.Exception类常见的异常子类有NameError、FileNotFoundError、IndexError、AttributeError,其中NameError异常产生的原因是使用了未定义的变量;FileNotFoundError异常是打开不存在的文件;IndexError异常是访问了规定索引之外的数据;AttributeError异常产生的原因是使用对象访问不存在的属性引发的。
3.抛出异常的方式有raise 异常类;raise 异常对象和raise,其中第一种是使用异常类名引发指定的异常;第二种是使用异常类的对象引发指定的异常;第三种是使用刚出现过的异常重新引发异常。
五、编程题
答案:
class NumericalError(Exception):
请输入正确的数据'
class CircleArea:
请输入圆的半径:\\n"))
计算圆的面积
circle_area = CircleArea()
circle_area.circle()
答案:
class MessageError(Exception):
不能构成三角形'
class Triangle:
请输入第一个边长:\\n"))
请输入第二个边长:\\n"))
请输入第三个边长:\\n"))
可以构成')
triangle = Triangle()
triangle.composed_triangle()
第20章Python计算生态与常用库
一、填空题
1.网络爬虫
2.数据分析
3.Numpy,Pandas,SciPy
4.标准库,第三方库
5.init()
二、判断题
1.√
2.√
3.×
4.×
5.√
6.√
7.√
三、选择题
1.B
2.D
3.B
4.A
5.B
四、简答题
1.Python计算生态覆盖的领域包括网络爬虫、数据分析、文本处理、数据可视化、机器学习、图形用户界面等。
2.Python中的库分为标准库和第三方库,标准库可以在Python中直接使用,第三方库需要进行安装;模块本质上是一个包含Python代码片段的.py文件;将模块放入到一个文件夹中,并在该文件夹中创建__init__.py文件,就构建了一个Python包。
3.若两个表示时间的变量进行计算,可以先将其转换为时间戳形式。因为时间戳是以浮点型显示,便于时间计算与转换。
五、编程题
答案:
import turtle
'''全局变量'''
amount = 10 词频排列显示个数
words = [] 单词集合-x轴数据
wCounts = [] 单词频数集合-y轴数据
xPoint = -360
yPoint = -200
'''turtle start'''
#绘制从点(x1,y1)到(x2,y2)的线段
def drawLine(t,x1,y1,x2,y2):
#在坐标(x,y)处写文字
def drawText(t,x,y,text,fontSize=10):
微软雅黑',fontSize,),align='center')
#绘制矩形
def drawRectangle(t,x,y,rWidth):
#绘制柱状图
def drawBarchart(t):
词频统计结果",15) 绘制标题
绘制边框
控制条形柱宽度(2rWidth)
轴显示放大倍数-可根据amount进行调节
轴显示放大倍数-可根据频数进行调节
右移以避免与原点重合
x=i*xScale+xPoint
y=wCounts[i-1]*yScale+yPoint
drawText(t,x,yPoint-20,words[i-1]) 打印单词
drawText(t,x,y+10,wCounts[i-1]) 打印频率
t.begin_fill()
drawRectangle(t,x,y,rWidth)
t.end_fill()
#初始化窗口
def init():
词频结果柱状图')
隐藏箭头
线条粗细
t.color("#EBEBD0
#t.color("#006030
绘制
'''data Processing'''
#对文本的每一行计算词频的函数
def processLine(line,wordamounts):
用空格替换标点符号
从每一行获取每个词
if word in wordamounts:
wordamounts[word] += 1
else:
wordamounts[word] = 1
#空格替换标点
def replacePunctuations(line):
if ch in "~!@#$%^&*()-_+=<>?/,.:;{}[]|\\'\\"":
line = line.replace(ch,' ')
#数据处理,得到文件中出现频率最高的单词及其频数
def dataProcess(filename):
建立用于记录词频的空字典
processLine(line.lower(),wordamounts)
从字典中获取数据对
列表中的数据对交换位置,使频数成为元素的键值
列表排序。默认根据键值排序
输出amount个词频结果
print(items[i][1]+"\"+str(items[i][0]))
wCounts.append(items[i][0])
words.append(items[i][1])
def main():
用户输入一个文件名
#调用main()函数
if __name__ == '__main__':
答案:
import wordcloud
from matplotlib.image import imread
font = 'AdobeHeitiStd-Regular.otf'
# 用于生成词云的字符串
with open('葫芦兄弟.txt','r',encoding='utf-8')as file:
# 词云形状
mk = imread('葫芦娃
# 创建词云对象
w = wordcloud.WordCloud(font_path=font, mask=mk,
# 加载文本
w.generate(string)
# 生成词云
w.to_file('葫芦娃下载本文