admin 管理员组

文章数量: 887021


2024年1月10日发(作者:一套完整的游戏源码)

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

【答案】A

【解析】

【详解】

本题考查的是Python函数。input( )是输入函数,split()通过指定分隔符对字符串进行切int()是转换为整型,print()是输出函数。片,如果输入的是4 3 6 9,程序运行后a值为4,b值为3,c值为6,d值为9,print(c)故输出的值为c的值:6。选项A正确。

2.以下叙述中正确的是( )。

A.Python 3.x与Python 2.x兼容

B.Python语句只能以程序方式执行

B.4 C.3 D.9

C.Python是解释型语言

D.Python语言出现得晚,具有其他高级语言的一切优点

【答案】C

【解析】

【分析】

【详解】

本题考查Python相关知识点

Python 3.x与Python 2.x版本不同,不兼容。故选项A说法错误

Python语句也可以使用脚本直接运行。故选项B说法错误

Python是解释型语言。故本题选C选项

Python不具有其他高级语言的一切优点。故选项D说法错误

3.Python输入函数为(

)。

A.time()

【答案】C

【解析】

【详解】

本题考查的是Python函数。input( )是输入函数,print()是输出函数。故选项C正确。

4.以下Python表达式中,哪项的值与其它三项不同(

A.len(“my name is james”.split())

C.sum([1,2,1,1])

【答案】C

【解析】

B.int(4.99)

D.max([1,2,3,4])

B.round() C.input( ) D.print()

试卷第2页,总14页

【详解】

本题考查的是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。

5.在Python语言中,数据的输入是通过( )来实现的。

A.input( )函数

C.output( )函数

【答案】A

【解析】

【详解】

本题考查的是Python函数。input( )是输入函数,print( )是输出函数,abs( )是绝对值函数。故选项A正确。

6.input( )函数的返回结果是( )。

A.数值型

【答案】D

【解析】

【详解】

本题考查的是Python函数。input( )函数的返回结果是字符串,如果需要可以转换为相应的类型再处理。选项D正确。

7.下列标识符中合法的是(

A.3df

【答案】B

B.f3e C.3-Q D.%er

B.集合 C.列表 D.字符串

B.print( )函数

D.abs( )函数

【解析】

【详解】

本题考查的是标识符。标识符由字母、数字或下划线等字符组成,但不能与数字开头,Python的保留字不能作为标识符。选项A与数字开头,不合法;选项B,合法;选项C中包含"-"字符,不合法;选项D包含“%”字符,不合法。故应选B。

8.在下列程序设计语言中,属于人工智能语言的是(

)。

A.Python

B.VB

C.Pascal

D.C

【答案】A

【解析】

【详解】

Python由于简单易用,本题考查的是人工智能语言。是人工智能领域中使用最广泛的编程语言之一,它可以无缝地与数据结构和其他常用的AI算法一起使用。故选项A正确。

二、填空题

9.n=1

for i in range(1,5):

n=n*i

print(n)

程序运行后,其输出结果为______________

【答案】24

试卷第4页,总14页

【解析】

【详解】

本题主要考查Python程序分析。题中range(1,5)生成1、2、3、4的整数列表,因此本程序输出结果为1×2×3×4=24。

10.通过numpy模块中的________函数可以创建一个等差数列。

如在0-2π之间每隔0.01取个值,则可以用________表示,其中表示________。

【答案】arange arange(0,2* ,0.01)

π

【解析】

【详解】

arange()函数返回一个有终点和起点的固定步长本题考查的是Python中的numpy模块。的排列,故可以通过numpy模块中的arange函数可以创建一个等差数列。arange()函数的参数使用:三个参数时,第一个参数为起点,第二个参数为终点,第三个参数为步长。其中步长支持小数,故在0-2π之间每隔0.01取个值,则可以用arange(0,2* ,0.01),其中表示π。

11.Pygame自带了一个监听类循环,不断检查用户的操作,这个循环在程序运行过程期间持续工作。仔细阅读理解如下代码填写括号内容

while True:

for event in (): # (_____)

if ==: # (_____)

() #退出程序

if ==UTTONDOWN: # (_____)

【答案】①监听并获取事件列表 ①Quit事件 ①侦听到鼠标点击事件

【解析】

【详解】

本题考查的是Python中的Pygame模块。()是监获取事件列表,是Quit事件,UTTONDOWN是侦听到鼠标点击事件。

12.要达到在窗口显示不同位置的福字,需要完成两个步骤:(1)在新的位置上________;(2)把原来的图像________。要“擦掉”某个图像,可以选择________它,通常采用________或者用________来覆盖的方式。

【答案】画出图像

擦掉

“覆盖”

重绘背景

其他对象

【解析】

【详解】

本题考查的是Python图像处理。要达到在窗口显示不同位置的福字,需要完成两个步骤:(1)在新的位置上画出图像,2)把原来的图像擦掉。要“擦掉”某个图像,可以选择“覆盖”它,通常采用重绘背景或者用其他对象来覆盖。

13.y的功能是访问________;的功能是________;的功能是使用________

;的功能是________。

【答案】显示设备

管理事件

字体

加载和存储图片

【解析】

【详解】

本题考查的是Python中的Pygame模块功能。y的功能是访问显示设备。的功能是管理事件。的功能是使用字体。的功能是加载和存储图片。

14.在pygame中,使用图像的最简单方法是调用________函数。通过________来载入图片,________表示图像文件的路径和名称。图像文件必须和程序在________下才可以使用相对路径的引用方式。

【答案】Image (filename) filename

同一文件夹

【解析】

【详解】

试卷第6页,总14页

本题考查的是Python中的pygame模块。在pygame中,使用图像的最简单方法是调用Image函数。通过(filename)来载入图片,filename参数表示图像文件

的路径和名称。图像文件必须和程序在同一文件夹下才可以使用相对路径的引用方式。15.pygame模块提供了________、________等函数;random模块用于产生________;sys模块包含了跟Python________相关的函数。

【答案】图像

声音

随机数

环境

【解析】

【详解】

本题考查的是Python的pygame模块。pygame模块提供了图像、声音等函数;random模块用于产生随机数;sys模块包含了跟Python环境相关的函数。

16.调用________函数,将返回一个窗口。如果想在窗口上绘制或是放置对象,需要指定这个对象在窗口的________即坐标。pygame中的坐标系原点在________,水平方向为________轴,垂直方向为________轴。

【答案】_mode()

具体位置

左上角 X Y

【解析】

【详解】

本题考查的是Python中的pygame模块。调用_mode()函数,将返回一个窗口。如果想在窗口上绘制或是放置对象,需要指定这个对象在窗口的具体位置即坐标。pygame中的坐标系原点在左上角,水平方向为X轴,垂直方向为Y轴。

17.创建GUI应用程序的方法:先________。如“from tkinter import *”

导入tkinter模块。然后运用相应代码________。如:________、________、________、________。

【答案】导入模块

创建交互对象

矩形容器(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

试卷第8页,总14页

#生成平滑的红色字符串

t= (______ )('score:'+str(score),True, (255,0,0))

(t,[50,50]) #在窗口显示

【答案】①showscore(score) ①t('Arial',30) ①

【解析】

【详解】

本题考查的是自定义函数。自定义函数格式:

函数名(参数表),故①处为:showscore(score);t(name, size, bold=False, italic=False)从系统字体库t('Arial',30);()创建一个 Font

对象,故①处为:在一个新 Surface

对象上绘制文本,故①处应为:。

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,就可以改变它的行为。

循环次数

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

试卷第10页,总14页

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[(tmp)]

else:

z+=n[(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

【解析】

【详解】

upper()

本题考查的是Python语言。改进后的加密思想,设置一密码表与字母表一一对应。方法将字符串中的小写字母转为大写字母,Python find()

方法检测字符串中是否包含子字符串 str,ord函数返回对应的 ASCII

数值,lower()方法转换字符串中所有大写字符为小写。要一个字符一个字符,故要取得输入字符串的长度,①处应为:len(t);因为给定的字母表n是大写,故要先把字符取出到t数组并转大写,①处应为:t[i].upper();由代码print('加密解密成功!')可知条件应是明文与解密后一致,故①处应为:a==c。

23.要将显示一个有背景色的窗口改为显示一个有背景图片的窗口应将*处改为两句,请填写在①①处。

((255,255,0)) #窗口填充黄色*

试卷第12页,总14页

(_______) #加载背景图像

(______ ) #将背景图画在窗口

() #窗口刷新

【答案】①back=('') ① (back,[0,0])

【解析】

【详解】

本题考查的是Python的 Pygame

模块。()

从文件加载新图片,可以从文件加载一张图片,也可以传递一个文件路径或一个 Python

的文件对象,故①处为:back=('');(space, (0,0))可以绘制位图,第一个参数是加载完成的位图,第二个参数是绘制的起始坐标,故①处为: (back,[0,0])。

四、简答题

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.实时获得鼠标的状态并对鼠标单击做出正确的响应,只有不断地进行监听、更新游戏状态、重绘屏幕三个步骤的操作。

(____)

【答案】对

【解析】

【详解】

本题考查的是鼠标响应。实时获得鼠标的状态并对鼠标单击做出正确的响应,也就不断地进行监听、更新游戏状态、重绘屏幕三个步骤的操作。题干中的说法是正确的。

试卷第14页,总14页


本文标签: 函数 考查 参数