内容正文:
考点10 Python第三方库
专题
考试内容要求
Python第三方库
1. turtle库
2. Matplotlib库
3. Pandas库
4. Random库
5. Math库
1.turtle 海龟库-图形绘制库
1).引用turtle库
① import turtle ② from turtle import * ③import turtle as t
2).画笔状态函数:默认方向是水平向右。
(1). begin_fill ( ) 填充图形前,调用此方法。 turtle.begin_fill( )
(2) end_fill ( ) 填充图形结束。 turtle.end_fill( )
(3). color (画笔颜色,填充颜色) 设置画笔和填充颜色。 turtle.color("red")
(4) forward ( ) 沿着当前方向前进指定距离。(别名:fd()) turtle. forward(60)
(5). left ( ) 向左旋转角度。(别名:lt()) turtle. left(90)
(6) right ( ) 向右旋转角度。(别名:rt()) turtle. right(90)
(7). circle (半径, 圆弧所对应圆心角, 多边形边数) 绘制圆、圆弧、圆内正多边形。
from turtle import *
circle(50) #绘制半径为50的圆
circle(50,90) #绘制半径为50的,圆心角为90°的圆弧
circle(50,360,5) #绘制半径为50的,圆心角为360°的五边形
2.random 生成随机数库
1).引用random库
① import random ②from random import * ③import random as r
2).random函数运用:
(1) random ( ) 随机生成一个[0.0,1.0)之间的小数。(不包含1.0) random.random( )
(2) randint (a,b) 随机生成一个[a,b]之间的整数。 random.randint(1,10)
(3) unifrom (a,b) 随机生成一个[a,b]之间的小数。 random.unifrom(1,5)
(4) randrange (a,b,c)随机生成一个区间[a,b]步长为c的整数。 random.randrange(1,10,2)
(5) choice (seq) 从序列中随机返回一个元素。
List1=["张三","李思","王二"]
print(choice(List1))
(6) shuffle seq) 将序列类型中元素随机排列,返回打乱后的顺序。
List1=["张三","李思","王二"]
print(shuffle(List1))
3.matplotlib 是Python的绘图库。它的子库是 pyplot 。
1).引用matplotlib库。
①import matplotlib.pyplot as plt ② from matplotlib import pyplot as plt
2).matplotlib的函数:
(1) title ("标题") 生成图表标题。 plt.title("图表标题")
(2) xlabel ("x轴标题") 生成横坐标标题。 plt.xlabel("x轴标题")
(3) ylabel ("y轴标题") 生成纵坐标标题。 plt.ylabel("y轴标题")
(4) plot (x,y) 开始绘制图像。(折线图) plt.plot(x,y)
(5) scatter x,y) 绘制散点图。 plt.scatter(x,y)
(6) bar (x,y) 绘制直方图。 plt.bar(x,y)
(7)show( ) 展示图像。 plt.show()
4.pandas库用于数据分析库。
1).引用pandas库
① import pandas ② from pandas import * ③ import pandas as pd
2).pandas库函数的应用:
数据结构
一维系列( Series)
二维矩阵(DataFrame)
包含一索引( index)列和一组数据(values)列。索引默认从0起递增。
由一个行索引 ( index ) 、一个列索引( columns)和若干组数据(Values)组成,每列数据可以是不同类型。
定义
pd. Series ( [ 1,3 , 5,7])
运行结果:
>%Run "创建series.py'
0 1
1 3
2 5
3 7
dtype: int64
说明:第一列为索引( index ) ,
第二列为数值( values)
最后一行为数组类型。
Values = [[‘王静怡’,‘女’,28],[‘张佳妮’,‘女’,56],[‘李臣武’,‘男’,37]]
Indexs = [‘2023001’,‘2023002 ’,‘2023003’]
Columns = [‘姓名’,‘性别’,‘借阅次数’]
df = pd. DataFrame( Values,Indexs ,Columns)
5.math 数学库
1).引用math库
① import math ② from math import * ③import math as m
2).math库的使用
(1) fabs (x) 返回x的绝对值。 math.fabs(-3) 结果为:-3
(2)factorial(x) 以一个整数返回x的阶乘。 math. factorial(3) 结果为:6
(3)gcd(a,b) 返回给定的整数参数的最大公约数。 math.gcd(6,8) 结果为:2
(4) pow (x,y) 将返回x的y次幂。 math.pow(2,3) 结果为:8
(5) sqrt (x) 返回x的平方根。 math.sqrt(4) 结果为:2
(6)pi 数学常数=3.141592……,精确到可用精度。math.pi 结果为:3.141592653589793
练
考点 01 turtle 图形库
1. 答案:正三角形
解析:循环 3 次,每次前进 100,左转 120°,3 次后形成内角 60° 的正三角形。
1. 答案:半径从 40 到 0 递减的同心圆
解析:range(40,0,-10)生成 40、30、20、10,每次绘制对应半径的圆,形成内小外大的同心圆。
1. 答案:C
解析:正六边形需循环 6 次,每次左转 60°(360°/6),C 选项for i in range(6)配合left(60)正确。
1. 答案:B
解析:每次绘制半径递增的圆(x从0到99),并左转 92°,形成螺旋状图案。
1. 答案:B
解析:外层循环 4 次,内层循环 3 次绘制正三角形,每次外层循环后左转 90°,最终形成四个正三角形组成的图案。
1. 答案:D
解析:n=8,循环 8 次,偶数次画笔粗 8,奇数次粗 2,每次绘制360/8=45°圆弧,形成 8 段交替粗细的圆弧。
1. 答案:D
解析:正六边形内角和为 720°,每边旋转 60°,需调用t.left(60)。
考点 02 random 随机函数库
1. 答案:A
解析:while guess != number表示当猜测值不等于随机数时继续循环,直到猜中为止。
考点 03 matplotlib 绘图库
1. 答案:A
解析:绘制函数图像用plot(x,y),y=x²为抛物线。
1. 答案:D
解析:绘制正弦函数图像需用matplotlib库的plot函数。
1. 答案:B
解析:bar()函数用于绘制条形图,plot()用于折线图,程序中同时使用但最终显示条形图。
1. 答案:C
解析:scatter(x,y)绘制散点图,y=x³在 x=1 到 20 时呈三次函数增长趋势。
1. 答案:A
解析:绘制正弦曲线用plot(x,y),x为角度,y=sin(x)。
1. 答案:D
解析:第 5 行plt.scatter(I,R)用于绘制电流 - 电阻的散点图。
1. 答案:A
解析:绘制气温变化趋势用折线图plot(x,y),scatter为散点图,bar为条形图。
1. 答案:A
解析:y=-x³为三次函数曲线,用plot(x,y)绘制。
1. 答案:C
解析:y=1/x为双曲线,用plot(x,y)绘制连续曲线。
1. 答案:A
解析:y=x²+1是抛物线,开口向上,顶点在 (0,1)。
1. 答案:A
解析:plot(x,y)绘制折线图,显示一周气温变化趋势。
1. 答案:B
解析:scatter(x,y)绘制正弦函数的散点图,x 从 0 到 20,y 在 - 1 到 1 之间波动。
1. 答案:D
解析:展示成绩等级占比用饼图pie(n,labels=grade)。
1. 答案:B
解析:图中 4G 和 5G 基站数量用柱状图展示,对应bar()函数。
1. 答案:C
解析:scatter(x,y)绘制y=x²的散点图,x 在 - 1 到 1 之间,y 为平方值。
1. 答案:第 5 行填plt.plot(x,y);第 2 行修改为import numpy as np
解析:绘制余弦曲线用plot,numpy常用别名np。
考点 04 pandas 数据分析库
1. 答案:D
解析:sort_values('分数', ascending=False)按分数降序排序,ascending=True为升序(默认)。
考点 05 math 数学库
1. 答案:A
解析:参数d为里程数,cost1为 3 公里内价格,cost2为超 3 公里单价,math.ceil(d-3)计算超 3 公里的整公里数。
1. 答案:B
解析:hh = h - hx中hx和hh为浮点数,非整型。
1. 答案:原图逆时针旋转 270°(3 次 ×90°)后的图像
解析:rotate(90)每次逆时针转 90°,3 次后共转 270°,等效于顺时针转 90°。
第 1 页
学科网(北京)股份有限公司
$$考点10 Python第三方库
专题
考试内容要求
Python第三方库
1. turtle库
2. Matplotlib库
3. Pandas库
4. Random库
5. Math库
1.turtle 海龟库-图形绘制库
1).引用turtle库
① turtle ② from turtle import * ③import turtle t
2).画笔状态函数:默认方向是水平向右。
(1). ( ) 填充图形前,调用此方法。 turtle.begin_fill( )
(2) ( ) 填充图形结束。 turtle.end_fill( )
(3). (画笔颜色,填充颜色) 设置画笔和填充颜色。 turtle.color("red")
(4) ( ) 沿着当前方向前进指定距离。(别名:fd()) turtle. forward(60)
(5). ( ) 向左旋转角度。(别名:lt()) turtle. left(90)
(6) ( ) 向右旋转角度。(别名:rt()) turtle. right(90)
(7). (半径, 圆弧所对应圆心角, 多边形边数) 绘制圆、圆弧、圆内正多边形。
from turtle import *
circle(50) #绘制半径为50的圆
circle(50,90) #绘制半径为50的,圆心角为90°的圆弧
circle(50,360,5) #绘制半径为50的,圆心角为360°的五边形
2.random 生成随机数库
1).引用random库
① random ②from random import * ③import random as r
2).random函数运用:
(1) ( ) 随机生成一个[0.0,1.0)之间的小数。(不包含1.0) random.random( )
(2) (a,b) 随机生成一个[a,b]之间的整数。 random.randint(1,10)
(3) (a,b) 随机生成一个[a,b]之间的小数。 random.unifrom(1,5)
(4) (a,b,c)随机生成一个区间[a,b]步长为c的整数。 random.randrange(1,10,2)
(5) (seq) 从序列中随机返回一个元素。
List1=["张三","李思","王二"]
print(choice(List1))
(6) seq) 将序列类型中元素随机排列,返回打乱后的顺序。
List1=["张三","李思","王二"]
print(shuffle(List1))
3.matplotlib 是Python的绘图库。它的子库是 。
1).引用matplotlib库。
①import as plt ② from matplotlib import pyplot as plt
2).matplotlib的函数:
(1) ("标题") 生成图表标题。 plt.title("图表标题")
(2) ("x轴标题") 生成横坐标标题。 plt.xlabel("x轴标题")
(3) ("y轴标题") 生成纵坐标标题。 plt.ylabel("y轴标题")
(4) (x,y) 开始绘制图像。(折线图) plt.plot(x,y)
(5) x,y) 绘制散点图。 plt.scatter(x,y)
(6) (x,y) 绘制直方图。 plt.bar(x,y)
(7)show( ) 展示图像。 plt.show()
4.pandas库用于数据分析库。
1).引用pandas库
① import pandas ② from import * ③ import pandas as pd
2).pandas库函数的应用:
数据结构
一维系列( Series)
二维矩阵(DataFrame)
包含一索引( index)列和一组数据(values)列。索引默认从0起递增。
由一个行索引 ( index ) 、一个列索引( columns)和若干组数据(Values)组成,每列数据可以是不同类型。
定义
pd. Series ( [ 1,3 , 5,7])
运行结果:
>%Run "创建series.py'
0 1
1 3
2 5
3 7
dtype: int64
说明:第一列为索引( index ) ,
第二列为数值( values)
最后一行为数组类型。
Values = [[‘王静怡’,‘女’,28],[‘张佳妮’,‘女’,56],[‘李臣武’,‘男’,37]]
Indexs = [‘2023001’,‘2023002 ’,‘2023003’]
Columns = [‘姓名’,‘性别’,‘借阅次数’]
df = pd. DataFrame( Values,Indexs ,Columns)
5.math 数学库
1).引用math库
① import math ② from math import * ③import math as m
2).math库的使用
(1) (x) 返回x的绝对值。 math.fabs(-3) 结果为:-3
(2)factorial(x) 以一个整数返回x的阶乘。 math. factorial(3) 结果为:6
(3)gcd(a,b) 返回给定的整数参数的最大公约数。 math.gcd(6,8) 结果为:2
(4) (x,y) 将返回x的y次幂。 math.pow(2,3) 结果为:8
(5) (x) 返回x的平方根。 math.sqrt(4) 结果为:2
(6)pi 数学常数=3.141592……,精确到可用精度。math.pi 结果为:3.141592653589793
练
考点01 turtle 图形库
(2021学考模拟题)1.在Python中,以下程序运行后的结果是( )。
1 import turtle as t
2 for x in range(3):
3 t.forward(100)
4 t.left(120)
5 t.done( )
(2021春学考真题)2.在Python中,以下程序运行后的结果是( )。
1 import turtle as mypen
2 for xin range(40,0,-10):
3 mypen.circle(x)
4 mypen.done( )
(2022秋学考真题)3.在学习使用PyhonTurtle库绘制图形时,同学们编写了绘制正多边形及迷宫的代码。下列选项中,请找出代码与图形相对应的正确选项( )。
(2022秋学考真题)4.在学习Python Turtle后,小曲编写绘制图形的代码如下所示,此代码绘制的图形是( )。
1 import turtle as t
2 t.speed(0)
3 for x in range(100):
4 t.circle(x)
5 t.left(92)
6 t.done( )
(2024秋学考真题)5.运行下图所示Python程序,结果是( )。
1 import turtle as t
2 for i in range(4):
3 for j in range(3):
4 t.forward(50)
5 t.left(120)
6 t.left(90)
(2024春学考真题)6.在Pyton 中,上图所示程序运行后的结果是( )。
1 import turtle as t
2 n=8
3 for i in range(n):
4 if i%2==0:
5 t. pensize(8)
6 else:
7 t.pensize(2)
8 t. circle(100,360/n)
9 t. done ( )
(2021秋学考真题)7.绘制正六边形的Python程序代码如下,程序第5行下划线处应填入( )。
1 #画正六边形
2 import turtle as t
3 for i in range(6):
4 t.forward(90)
5
6 t.done( )
A. backward(60) B. t.backward(60 ) C. left(60) D. t.left(60)
考点02 random 随机函数库
(2021秋学考真题)1.“猜数游戏”中,计算机随机生成一个0~10之间的整数,用户输入一个整数进行猜测,计算机根据用户输入的数据进行比对,直到用户猜中为止。为了实现“猜数游戏”,补充完善下列Python程序第5行下划线处的代码。( )
1 #猜数游戏
2 import random
3 number=random.randint(0,10) #陵机生成一个0~10之间的整数
4 guess=int(input("请输入猜测的数:"))
5 while :
6 guess=int(input("猜错了,继续猜一猜:"))
7 print("恭喜你,猜对了!")
A.guess != number B.guess =! number C.guess == number D. guess = number
考点03 matplotlib 绘图库
(2021学考模拟题)1.利用 Python 程序绘制函数y=x2的图像,若要绘制下图所示的函数图像,则下列代码中第6行应填写的语句是( )。
第 1 页
学科网(北京)股份有限公司
1 # 绘制函数 y=x2 的图像
2 import matplotlib.pyplot as plt
3 import numpy as np
4 x = np.linspace(-2, 2, 50)
5 y = x ** 2 # 计算 y=x²
6 # 添加绘图命令
7 plt.show( )
A.plt.plot(x,y) B. plt.plot(y,x) C.plt. bar(x,y) D. plt.boxplot(x,y)
(2021学考模拟题)2.要利用Python 画出如图所示的正弦函数图像,必须要用到的外部库是( )。
A.time库
B.turtle 库
C.random库
D.matplotlib 库
(2022学考模拟题)3.张明统计了一款电子产品从1月发售到12月的销售价格,并用Python编程绘制了12个月的价格趋势图表,图表及Python程序如下所示:
1 import numpy as np
2 from matplotlib import pyplot as plt
3 x=np.arange(1,13)
4 y=[280,280,289,319,360,355,330,280,270,270,250,230]
5 plt.plot(x,y)
6 plt.bar(x,y)
7 plt.show( )
根据上图代码,下列说法正确的是( )。
A.该Python程序只用到了matplotlib.pyplot库 B.pyplot库中的bar( )函数用于绘制条形图
C.pyplot库中的bar( )函数用于绘制折线图 D.pyplot库中的plot( )函数用于绘制柱形图
(2024学考模拟题)4.小明编写Python程序实现数据可视化呈现,执行下列语句后呈现的图表是( )。
1 import numpy as np
2 import matplotlib.pyplot as plt
3 x=np.arange(1,21)
4 y = x**3
5 plt.scatter(x,y)
6 plt.show( )
(2021春学考真题)5.利用 Python 程序绘制函数y=sin(x)的图像,若要绘制下图所示的函数图像,则下列代码中第6行应填写的语句是( )。
1 #绘制正弦函数y=sin(x)的图像
2 import matplotlib.pyplot as plt
3 import numpy as np
4 x=np.linspace(0,10,1000)
5 y= np.sin(x)
6 plt.show( )
A. plt. plot(x,y) B.plt. bar(x,y) C. plt. plot(y,x) D. plt. boxplot(x,y)
(2021秋学考真题)6.利用Python 程序绘制如下所示的欧姆定律实验数据散点图,下面程序中用来绘制散点图的代码是( )。
1 #绘制欧姆定律实验数据散点图
2 import matplotlib.pyplot as plt
3 R=[5,10,15,20,25,30] #电阻的实验教据
4 I=[586,291,198,143,101,98] #电流的实验数据
5 plt.scatter(I,R)
6 pIt .xlabel("I/mA")
7 plt .ylabel("R/Ω")
8 plt.show( )
A. 第1行 B. 第2行 C.第4行 D. 第5 行
(2022春学考真题)7.小李利用手机 APP获取了某地区7月份第1周每天的最高气温,并用Python程序绘制了“7月份第1周最高气温变化图”。程序第9行下划线处应填人的代码是( )。
1 import matplotlib.pyplot as plt
2 x=["第1天","第2天","第3天","第4天","第5天”,“第6天",“第7天"]
3 y=[22,24,18,15,21,25,28]
4 plt.rcParams["font.sans-serif" ]="KaiTi"
5 plt.rcParams["font.size"]="13"
6 plt.title(“7月份第1周最高气温变化图")
7 plt.ylabel("温度:℃")
8 plt.scatter(x,y)
9 plt.show( )
A. plt. plot(x,y) B. plt. bar(x,y) C. plt. barh(x,y) D. plt. xlabel( 'x, y')
(2022秋学考真题)8.有Python程序段如下左图所示,要绘制出如下右图所示函数y=-x3的图像,则程序第5行划线处应填写的代码是( )。
1 import matplotlib.pyplot as plt
2 import numpy as np
3 x=np.linspace(-1,1,50)
4 y=-x**3
5
6 plt.show()
A. plt. plot(x,y) B. plt. scatter(x,y) C. plt. bar(x,y) D. plt. xbar(x,y)
(2022秋学考真题)9.小曲使用Python编程绘制了下面的图像,程序第5行下划线处应填写的代码是( )。
1 import numpy as np
2 import matplotlib.pyplot as plt
3 x=np.linspace(-1,1,200)
4 y=1/x
5
6 plt.show( )
A.plt. bar(x,y) B. plt. scatter(x,y) C. plt. plot(x,y) D. plt. title(x,y)
(2023春学考真题)10.小李编写Python 程序实现数据可视化呈现,执行下列代码后呈现的图表是( )。
1 import matplotlib.pyplot as plt
2 import numpy as np
3 x=np.arange(0,11)
4 y=x**2+1
5 plt.title("y=x**2+1")
6 plt.xlabel("x")
7 plt.ylabel("y")
8 plt.plot(x,y)
9 plt.show( )
(2023秋学考真题)11.“某地一月第一周最高气温”数据如下表所示,小东编写Python 程序代码如下,则程序执行后输出的图表是( )。
(2024春学考真题)12.Python 程序可以实现数据可视化,以下程序执行后呈现的图表是( )。
1 import matplotlib.pyplot as plt
2 import numpy as np
3 x = np.arange(0,20,0.2)
4 y = np.sin(x)
5 plt.scatter(x,y)
6 plt.show( )
(2024秋学考真题)13.小张设计如下图所示 Python 程序,将本班级的信息技术成绩等级占比情况以图表形式呈现出来。第6行应填写的代码是( )。
1 import pandas as pd
2 import matplotlib.pyplot as pit
3 plt.rcParams['font.sans-serif']=['simHei'] #没置中文标签的字体
4 grade=['A等','B等','C等','D等']
5 n=[18,30,13,5] #各等级的人数
6
7 plt.show( )
A. plt.plot(grade,n) B. plt.scatter(grade,n) C. plt.bar(grade,n) D. plt.pie(n,labels-grade)
(2025春招真题)14.某数据分析网站,运用Python中的matplotlib.pyplot库对我国2020年至2024年4G基站与5G基站的总数进行可视化呈现。下图用到了子库pyplot的函数是( )
A、pyplot.plot( )
B、pyplot.bar( )
C、pyplot.scatter( )
D、pyplot.stackplot( )
(2025春招真题)15.Python程序可以实现数据的可视化,下列程序代码的运行结果是( )
1 import numpy as np
2 import matplotlib.pyplot as plt
3 x=np.linspace(-l,1,21)
4 y=x**2
5 plt. scatter(x,y)
6 plt. show( )
(2021学考模拟题)16.数学学习小组在绘制余弦函数y=cos(x)的图像,他们选择的方式是利用Python编程进行绘图,图像和程序代码如下所示:
1 import matplotlib.pyplot as plt
2 import numpy
3 x=numpy.arange(-6,6,0.1)
4 y =numpy.cos(x)
5
6 plt.show()
需要完善程序代码才能画出余弦函数图像,上面程序代码第5行应该填写 。
如果将程序代码第3行修改为x=np.arange(-6,6,0.1),则第2行相应修改为 。
考点04 pandas 数据分析库
(2021学考模拟题)1.一数据文件“data.csv”中包含-3-列-1000行数据,pandas-库中的-sort-values函数是用来排序的,该函数默认为升序排序。下列Python程序段用于实现对象df1中数据按“分数”降序排序,程序中第3行应填写的语句是( )。
姓名
分数
日期
周文强
56
5月6日
王亚丹
66
5月6日
温荣蝶
85
5月7日
侯潇潇
79
5月8日
1 import pandas as pd
2 df =pd.read csv('data.csv')
3
4 print(df1)
A.dfl =df. sort_values('分数')
B. dfl=df. sort_values(B)
C. dfl = df. sort_values('分数',ascending=True)
D. dfl =df. sort_values('分数',ascending=False)
考点05 math 数学库
(2021学考模拟题)1.小亚去昆明出差,他发现昆明有三种不同类型的出租车,其计费标准分别为:
甲车3km起步(含3km),价格10元(含燃油附加费),3km以上为1.8元/km;
乙车3km起步(含3km),价格8元,3km以上为2元/km;
丙车3km起步(含3km),价格9元,3km以上为1.9元/km。
小亚分析发现三种不同的类型的出租车计价的功能类似,她决定用函数计算每种出租车的计费,如下
1 import math
2 def cale(d,cost1,cost2):
3 if d<3:
4 return cost1
5 else;
6 return cost1+ath.ceil(d-3)*cost2
函数cale(d,costl,cost2)中三个参数分别对应的是( )。
A.里程数 3公里以内价格 超过3公里的单价
B.里程数 超过3公里的单价 3公里以内价格
C.超过3公里的单价 3公里以内价格 里程数
D.3公里以内价格 超过3公里的单价 里程数
(2023学考模拟题)2.从离地500米的空中自由落下一个小球,求从开始落下的时刻起,小球在最后1秒下落的位移是多少(重力加速度g以9.8米/秒’计)?为解决这一问题编写的 Python程序如下所示,下列说法错误的是( )。
1 import math
2 h=500
3 g=9.8
4 t= math.sqrt(2*h/g)
5 hx = g*(t-1)*(-1)/2
6 hh =h-hx
7 print("小球最后1秒下落的位移是:",hh,"m")
A.该程序代码中使用了库,库的名称是math
B.该程序代码中使用了变量hh,它的数据类型是整型
C.第4行中“math.sqrt(2*h/g)”是求出2*b/g的平方根
D.该程序使用了物理公式计算空中自由落下小球的位移,采用的算法是解析算法
(2022秋学考真题)3.认真分析如下 Python 程序,其中“monkey.jpg”原图如右图所示,运行该程序后图像显示为( )。
1 from PIL import Image
2 im=Image.open("monkey.jpg" )
3 i=0
4 while i<3:
5 i=i+1
6 im=im.rotate(90) #rotate(x)表示逆时针旋转x度
7 im.show( )
$$