4.1.4Python的函数 练习(原卷+解析卷)

文档属性

名称 4.1.4Python的函数 练习(原卷+解析卷)
格式 zip
文件大小 2.3MB
资源类型 试卷
版本资源 粤教版(2019)
科目 信息技术(信息科技)
更新时间 2020-11-24 11:36:14

文档简介

中小学教育资源及组卷应用平台
4.1.4Python的函数-粤教版(2019)高中信息技术必修一练习
学校:___________姓名:___________班级:___________考号:___________
一、选择题
1.有以下程序段:
a,b,c,d=input(
).split(
)
a=int(a)
b=int(b)
c=int(c)
d=int(d)
print(c)
如果输入的是4
3
6
9,则程序运行的结果为


A.6
B.4
C.3
D.9
2.以下叙述中正确的是(
)。
A.Python
3.x与Python
2.x兼容
B.Python语句只能以程序方式执行
C.Python是解释型语言
D.Python语言出现得晚,具有其他高级语言的一切优点
3.Python输入函数为(
)。
A.time()
B.round()
C.input(
)
D.print()
4.以下Python表达式中,哪项的值与其它三项不同(

A.len(“my
name
is
james”.split())
B.int(4.99)
C.sum([1,2,1,1])
D.max([1,2,3,4])
5.在Python语言中,数据的输入是通过(  )来实现的。
A.input(
)函数
B.print(
)函数
C.output(
)函数
D.abs(
)函数
6.input(
)函数的返回结果是(  )。
A.数值型
B.集合
C.列表
D.字符串
7.下列标识符中合法的是(

A.3df
B.f3e
C.3-Q
D.%er
8.在下列程序设计语言中,属于人工智能语言的是(
)。
A.Python
B.VB
C.Pascal
D.C
二、填空题
9.n=1
for
i
in
range(1,5):
n=n
i
print(n)
程序运行后,其输出结果为______________
10.通过numpy模块中的________函数可以创建一个等差数列。
如在0-2π之间每隔0.01取个值,则可以用________表示,其中numpy.pi表示________。
11.Pygame自带了一个监听类循环,不断检查用户的操作,这个循环在程序运行过程期间持续工作。仔细阅读理解如下代码填写括号内容
while
True:
for
event
in
pygame.event.get():
#
(_____)
21世纪教育网版权所有
if
event.type==pygame.QUIT:
#
(_____)
sys.exit()
#退出程序
if
event.type==pygame.MOUSEBUTTONDOWN:
#
(_____)
12.要达到在窗口显示不同位置的福字,需要完成两个步骤:(1)在新的位置上________;(2)把原来的图像________。要“擦掉”某个图像,可以选择________它,通常采用________或者用________来覆盖的方式。
13.Pygame.display的功能是访问________;Pygame.event的功能是________;Pygame.font的功能是使用________
;Pygame.image的功能是________。
14.在pygame中,使用图像的最简单方法是调用________函数。通过________来载入图片,________表示图像文件的路径和名称。图像文件必须和程序在________下才可以使用相对路径的引用方式。21教育网
15.pygame模块提供了________、________等函数;random模块用于产生________;sys模块包含了跟Python________相关的函数。
16.调用________函数,将返回一个窗口。如果想在窗口上绘制或是放置对象,需要指定这个对象在窗口的________即坐标。pygame中的坐标系原点在________,水平方向为________轴,垂直方向为________轴。
17.创建GUI应用程序的方法:先________。如“from
tkinter
import

导入tkinter模块。然后运用相应代码________。如:________、________、________、________。21cnjy.com
18.在Python
语言中,________是实现图形用户界面的模块,可以快速创建________。21·cn·jy·com
19.用户自定义函数是用户自己写的一段程序。一般包括______、______、______和______等四部分。其中______和______是必不可少的,______和______可根据需要进行定义。www.21-cn-jy.com
三、操作题
20.显示游戏程序的得分,方法为:先定义显示字体,然后将score显示出来。为了增加代码的复用性,以便游戏循环中状态更新时反复调用,可以定义成一个函数showscore。2·1·c·n·j·y
def
(_______
):
#定义函数,显示分数
textfont=
(______
)
#字体为Arial,大小30
#生成平滑的红色字符串
t=
(______
)('score:'+str(score),True,
(255,0,0))【来源:21·世纪·教育·网】
screen.blit(t,[50,50])
#在窗口显示
21.阅读以下“辗转相除法”的程序代码,回答问题,并写出运行结果。
a=98
b=63
r=a%b
while
r!=0:
a=b
print('a的值是',a)
b=r
print('b的值是',b)
r=a
%
b
print('r的值是',r)
22.以下是凯撒密码的改进版,请将①②③横线处内容补充完整。
import
os
#开始
def
NewCaesar(m,n,t):
z='';i=0
while
i<____________:
tmp=______________
if
tmp
in
m:
if
ord(t[i])<=90:
z+=n[m.find(tmp)]
else:
z+=n[m.find(tmp)].lower()
else:
z+=t[i]
i+=1
return
z
m='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
n='QWERTYUIOPASDFGHJKLZXCVBNM'
a=input('请输入<明文>a=')
b=NewCaesar(m,n,a)
print('对应的密文为:',b)
c=NewCaesar(n,m,b)
print('解密后明文为:',c)
if
____________:
print('加密解密成功!')
else:
print('加密解密失败!')
input("运行完毕,请按回车键退出...")
os._exit(0)
#结束
23.要将显示一个有背景色的窗口改为显示一个有背景图片的窗口应将
处改为两句,请填写在①②处。
screen.fill((255,255,0))
#窗口填充黄色
(_______)
#加载背景图像
(______
)
#将背景图画在窗口
pygame.display.update()
#窗口刷新
四、简答题
24.编写一个程序,从键盘上输入3个数,计算这三个数的和,并输出结果。
五、判断题
25.实时获得鼠标的状态并对鼠标单击做出正确的响应,只有不断地进行监听、更新游戏状态、重绘屏幕三个步骤的操作。
(____)
21世纪教育网
www.21cnjy.com
精品试卷·第
2

(共
2
页)
21世纪教育网(www.21cnjy.com)中小学教育资源及组卷应用平台
4.1.4Python的函数-粤教版(2019)高中信息技术必修一练习
学校:___________姓名:___________班级:___________考号:___________
一、选择题
1.有以下程序段:
a,b,c,d=input(
).split(
)
a=int(a)
b=int(b)
c=int(c)
d=int(d)
print(c)
如果输入的是4
3
6
9,则程序运行的结果为


A.6
B.4
C.3
D.9
【答案】A
【解析】
【详解】
本题考查的是Python函数。input(
)是输入函数,split()通过指定分隔符对字符串进行切片,int()是转换为整型,print()是输出函数。如果输入的是4
3
6
9,程序运行后a值为4,b值为3,c值为6,d值为9,print(c)故输出的值为c的值:6。选项A正确。www.21-cn-jy.com
2.以下叙述中正确的是(
)。
A.Python
3.x与Python
2.x兼容
B.Python语句只能以程序方式执行
C.Python是解释型语言
D.Python语言出现得晚,具有其他高级语言的一切优点
【答案】C
【解析】
【分析】
【详解】
本题考查Python相关知识点
Python
3.x与Python
2.x版本不同,不兼容。故选项A说法错误
Python语句也可以使用脚本直接运行。故选项B说法错误
Python是解释型语言。故本题选C选项
Python不具有其他高级语言的一切优点。故选项D说法错误
3.Python输入函数为(
)。
A.time()
B.round()
C.input(
)
D.print()
【答案】C
【解析】
【详解】
本题考查的是Python函数。input(
)是输入函数,print()是输出函数。故选项C正确。
4.以下Python表达式中,哪项的值与其它三项不同(

A.len(“my
name
is
james”.split())
B.int(4.99)
C.sum([1,2,1,1])
D.max([1,2,3,4])
【答案】C
【解析】
【详解】
本题考查的是Python函数。split()
通过指定分隔符对字符串进行切片,无参数即分隔所有,len()
方法返回对象(字符、列表、元组等)长度或项目个数,故len(“my
name
is
james”.split())=4;int
函数可以将数字转换为整数,直接取整,不会四舍五入
,int(4.99)=4;sum()
方法对系列进行求和计算,sum([1,2,1,1])=5;max()
方法返回给定参数的最大值,参数可以为序列,max([1,2,3,4])=4。故应选C。【来源:21·世纪·教育·网】
5.在Python语言中,数据的输入是通过(  )来实现的。
A.input(
)函数
B.print(
)函数
C.output(
)函数
D.abs(
)函数
【答案】A
【解析】
【详解】
本题考查的是Python函数。input(
)是输入函数,print(
)是输出函数,abs(
)是绝对值函数。故选项A正确。www-2-1-cnjy-com
6.input(
)函数的返回结果是(  )。
A.数值型
B.集合
C.列表
D.字符串
【答案】D
【解析】
【详解】
本题考查的是Python函数。input(
)函数的返回结果是字符串,如果需要可以转换为相应的类型再处理。选项D正确。21cnjy.com
7.下列标识符中合法的是(

A.3df
B.f3e
C.3-Q
D.%er
【答案】B
【解析】
【详解】
本题考查的是标识符。标识符由字母、数字或下划线等字符组成,但不能与数字开头,Python的保留字不能作为标识符。选项A与数字开头,不合法;选项B,合法;选项C中包含"-"字符,不合法;选项D包含“%”字符,不合法。故应选B。21·世纪
教育网
8.在下列程序设计语言中,属于人工智能语言的是(
)。
A.Python
B.VB
C.Pascal
D.C
【答案】A
【解析】
【详解】
本题考查的是人工智能语言。Python由于简单易用,是人工智能领域中使用最广泛的编程语言之一,它可以无缝地与数据结构和其他常用的AI算法一起使用。故选项A正确。2-1-c-n-j-y
二、填空题
9.n=1
for
i
in
range(1,5):
n=n
i
print(n)
程序运行后,其输出结果为______________
【答案】24
【解析】
【详解】
本题主要考查Python程序分析。题中range(1,5)生成1、2、3、4的整数列表,因此本程序输出结果为1×2×3×4=24。21
cnjy
com
10.通过numpy模块中的________函数可以创建一个等差数列。
如在0-2π之间每隔0.01取个值,则可以用________表示,其中numpy.pi表示________。
【答案】arange
arange(0,2
numpy.pi,0.01)
π
【解析】
【详解】
本题考查的是Python中的numpy模块。arange()函数返回一个有终点和起点的固定步长的排列,故可以通过numpy模块中的arange函数可以创建一个等差数列。arange()函数的参数使用:三个参数时,第一个参数为起点,第二个参数为终点,第三个参数为步长。其中步长支持小数,故在0-2π之间每隔0.01取个值,则可以用arange(0,2
numpy.pi,0.01),其中numpy.pi表示π。
11.Pygame自带了一个监听类循环,不断检查用户的操作,这个循环在程序运行过程期间持续工作。仔细阅读理解如下代码填写括号内容
while
True:
for
event
in
pygame.event.get():
#
(_____)
【来源:21cnj
y.co
m】
if
event.type==pygame.QUIT:
#
(_____)
sys.exit()
#退出程序
if
event.type==pygame.MOUSEBUTTONDOWN:
#
(_____)
【答案】①监听并获取事件列表
②Quit事件
③侦听到鼠标点击事件
【解析】
【详解】
本题考查的是Python中的Pygame模块。pygame.event.get()是监获取事件列表,pygame.QUIT是Quit事件,pygame.MOUSEBUTTONDOWN是侦听到鼠标点击事件。【出处:21教育名师】
12.要达到在窗口显示不同位置的福字,需要完成两个步骤:(1)在新的位置上________;(2)把原来的图像________。要“擦掉”某个图像,可以选择________它,通常采用________或者用________来覆盖的方式。
【答案】画出图像
擦掉
“覆盖”
重绘背景
其他对象
【解析】
【详解】
本题考查的是Python图像处理。要达到在窗口显示不同位置的福字,需要完成两个步骤:(1)在新的位置上画出图像,2)把原来的图像擦掉。要“擦掉”某个图像,可以选择“覆盖”它,通常采用重绘背景或者用其他对象来覆盖。
13.Pygame.display的功能是访问________;Pygame.event的功能是________;Pygame.font的功能是使用________
;Pygame.image的功能是________。
【答案】显示设备
管理事件
字体
加载和存储图片
【解析】
【详解】
本题考查的是Python中的Pygame模块功能。Pygame.display的功能是访问显示设备。Pygame.event的功能是管理事件。Pygame.font的功能是使用字体。Pygame.image的功能是加载和存储图片。21
cnjy
com
14.在pygame中,使用图像的最简单方法是调用________函数。通过________来载入图片,________表示图像文件的路径和名称。图像文件必须和程序在________下才可以使用相对路径的引用方式。
【答案】Image
pygame.image.load(filename)
filename
同一文件夹
【解析】
【详解】
本题考查的是Python中的pygame模块。在pygame中,使用图像的最简单方法是调用Image函数。通过pygame.image.load(filename)来载入图片,filename参数表示图像文件的路径和名称。图像文件必须和程序在同一文件夹下才可以使用相对路径的引用方式。
15.pygame模块提供了________、________等函数;random模块用于产生________;sys模块包含了跟Python________相关的函数。
【答案】图像
声音
随机数
环境
【解析】
【详解】
本题考查的是Python的pygame模块。pygame模块提供了图像、声音等函数;random模块用于产生随机数;sys模块包含了跟Python环境相关的函数。
16.调用________函数,将返回一个窗口。如果想在窗口上绘制或是放置对象,需要指定这个对象在窗口的________即坐标。pygame中的坐标系原点在________,水平方向为________轴,垂直方向为________轴。
【答案】pygame.display.set_mode()
具体位置
左上角
X
Y
【解析】
【详解】
本题考查的是Python中的pygame模块。调用pygame.display.set_mode()函数,将返回一个窗口。如果想在窗口上绘制或是放置对象,需要指定这个对象在窗口的具体位置即坐标。pygame中的坐标系原点在左上角,水平方向为X轴,垂直方向为Y轴。【版权所有:21教育】
17.创建GUI应用程序的方法:先________。如“from
tkinter
import

导入tkinter模块。然后运用相应代码________。如:________、________、________、________。21·cn·jy·com
【答案】导入模块
创建交互对象
矩形容器(Frame)
文本框(Entry)
命令按钮(Button)
文本标签(Label)
【解析】
【详解】
本题考查是GUI应用程序的创建。创建GUI应用程序的方法:先导入模块。如“from
tkinter
import
”导入thinter模块。然后运用相应代码创建交互对象。如:文本框(Entry)、命令按钮(Button)、文本标签(Label)、矩形容器(Frame)。
18.在Python
语言中,________是实现图形用户界面的模块,可以快速创建________。
【答案】tkinter
GUI应用程序
【解析】
【详解】
本题考查的是Python语言相关知识。在Python
语言中,tkinter是实现图形用户界面的模块,可以快速创建GUI应用程序。
19.用户自定义函数是用户自己写的一段程序。一般包括______、______、______和______等四部分。其中______和______是必不可少的,______和______可根据需要进行定义。
【答案】函数名
参数
返回值
函数体
函数名
函数体
参数
返回值
【解析】
【详解】
本题考查的是自定义函数。自定义函数包括函数名、参数、返回值、函数体和函数名,其中函数名和函数体是必不可少的,参数和返回值可根据需要进行定义。
三、操作题
20.显示游戏程序的得分,方法为:先定义显示字体,然后将score显示出来。为了增加代码的复用性,以便游戏循环中状态更新时反复调用,可以定义成一个函数showscore。
def
(_______
):
#定义函数,显示分数
textfont=
(______
)
#字体为Arial,大小30
#生成平滑的红色字符串
t=
(______
)('score:'+str(score),True,
(255,0,0))
screen.blit(t,[50,50])
#在窗口显示
【答案】①showscore(score)
②pygame.font.SysFont('Arial',30)
③textfont.render
【解析】
【详解】
本题考查的是自定义函数。自定义函数格式:
函数名(参数表),故①处为:showscore(score);pygame.font.SysFont(name,
size,
bold=False,
italic=False)从系统字体库创建一个
Font
对象,故②处为:pygame.font.SysFont('Arial',30);pygame.font.Font.render()在一个新
Surface
对象上绘制文本,故③处应为:textfont.render。
21.阅读以下“辗转相除法”的程序代码,回答问题,并写出运行结果。
a=98
b=63
r=a%b
while
r!=0:
a=b
print('a的值是',a)
b=r
print('b的值是',b)
r=a
%
b
print('r的值是',r)
【答案】
【解析】
【分析】
【详解】
本题考查的是Python循环。%是取模返回除法的余数。Print会自动在行末加上回车,
如果不需回车,只需在
print
语句的结尾添加一个逗号
,
并设置分隔符参数
end,就可以改变它的行为。21教育名师原创作品
循环次数
a
b
r
初始
98
63
35
1
63
35
28
2
35
28
7
3
28
7
0
故运行后的结果为:
a的值是
63
b的值是
35
r的值是
28
a的值是35
b的值是
28
r的值是
7
a的值是28
b的值是
7
r的值是
0
22.以下是凯撒密码的改进版,请将①②③横线处内容补充完整。
import
os
#开始
def
NewCaesar(m,n,t):
z='';i=0
while
i<____________:
tmp=______________
if
tmp
in
m:
if
ord(t[i])<=90:
z+=n[m.find(tmp)]
else:
z+=n[m.find(tmp)].lower()
else:
z+=t[i]
i+=1
return
z
m='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
n='QWERTYUIOPASDFGHJKLZXCVBNM'
a=input('请输入<明文>a=')
b=NewCaesar(m,n,a)
print('对应的密文为:',b)
c=NewCaesar(n,m,b)
print('解密后明文为:',c)
if
____________:
print('加密解密成功!')
else:
print('加密解密失败!')
input("运行完毕,请按回车键退出...")
os._exit(0)
#结束
【答案】①len(t)
②t[i].upper()
③a==c
【解析】
【详解】
本题考查的是Python语言。改进后的加密思想,设置一密码表与字母表一一对应。upper()
方法将字符串中的小写字母转为大写字母,Python
find()
方法检测字符串中是否包含子字符串
str,ord函数返回对应的
ASCII
数值,lower()方法转换字符串中所有大写字符为小写。要一个字符一个字符,故要取得输入字符串的长度,①处应为:len(t);因为给定的字母表n是大写,故要先把字符取出到t数组并转大写,②处应为:t[i].upper();由代码print('加密解密成功!')可知条件应是明文与解密后一致,故③处应为:a==c。21世纪教育网版权所有
23.要将显示一个有背景色的窗口改为显示一个有背景图片的窗口应将
处改为两句,请填写在①②处。
screen.fill((255,255,0))
#窗口填充黄色
(_______)
#加载背景图像
(______
)
#将背景图画在窗口
pygame.display.update()
#窗口刷新
【答案】①back=pygame.image.load('bj.jpg')

screen.blit(back,[0,0])
【解析】
【详解】
本题考查的是Python的
Pygame
模块。pygame.image.load()
从文件加载新图片,可以从文件加载一张图片,也可以传递一个文件路径或一个
Python
的文件对象,故①处为:back=pygame.image.load('bj.jpg');screen.blit(space,
(0,0))可以绘制位图,第一个参数是加载完成的位图,第二个参数是绘制的起始坐标,故②处为:
screen.blit(back,[0,0])。21教育网
四、简答题
24.编写一个程序,从键盘上输入3个数,计算这三个数的和,并输出结果。
【答案】a
=
input
(
)
b=
input(
)
c
=
input(
)
d=int(a)+int(b)+int(c)
print
(d)
【解析】
【详解】
本题考查的是输入函数。input
(
)是输入函数,int(
)是取整函数,input
(
)接收的是字符类型数据,故要使用取整函数转换为数值类型。程序如下:
a
=
input
(
)
b=
input(
)
c
=
input(
)
d=int(a)+int(b)+int(c)
print
(d)
五、判断题
25.实时获得鼠标的状态并对鼠标单击做出正确的响应,只有不断地进行监听、更新游戏状态、重绘屏幕三个步骤的操作。
(____)
【答案】对
【解析】
【详解】
本题考查的是鼠标响应。实时获得鼠标的状态并对鼠标单击做出正确的响应,也就不断地进行监听、更新游戏状态、重绘屏幕三个步骤的操作。题干中的说法是正确的。2·1·c·n·j·y
21世纪教育网
www.21cnjy.com
精品试卷·第
2

(共
2
页)
21世纪教育网(www.21cnjy.com)