内容正文:
3.2 Python语言程序设计
一、选择题
1.以下哪个选项是正确的Python分支结构语法( )
A.if condition: action1 else action2 B.if condition action1: action2
C.condition if action1 else action2 D.if action1: condition else action2
2.有Python程序代码如下:
def MMin(a,b):
if a>b:
return b
else:
return a
下列选项中,函数调用有误的语句是( )
A.k=MMin(3.1415,23) B.print(MMin('abgh','bc')) C.print(MMin(3,6,9)) D.k=MMin([3,2,3],[3,1,3,5])
3.已知a、b为整型变量,下列表达式的值一定为True的是( )
A.a!=b B.a>=b and b>=a C.a>=b or b>=a D.a<=b
4.执行如下Python程序后,f2的值为( )
f1=f2=1
for i in range(3):
f1,f2=f2,f1+f2
A.3 B.4 C.5 D.6
5.有如下Python程序段:
import random
a=[0]*7
flag=[0]*10
a[0]=random. randint(1,9) #随机生成1~9之间的整数
if a[0]%2==0:
flag[a[0]]=1
i=1
while i<=6:
a[i]=random. randint(1,9)
if flag[a[i-1]]==1 or a[i]>=a[i-1]:
flag[a[i]]=1
i=i+1
若该程序段运行后a为[9,9,8,3,2,6,2],则flag的值为( )
A.[0,0,1,1,0,0,1,0,1,1] B.[0,0,1,0,0,0,1,0,0,0] C.[0,0,0,0,0,0,1,0,0,1] D.[0,1,0,0,0,0,1,0,0,0]
6.在Python中,若变量a=1;b=0;c=-1,下列选项中表达式的值与其他三项不同的是( )
A.a>b or a>c B.b!=c and a==c C.b>c or(not a<c) D.a>b and b>c
7.有如下Python程序,程序执行,输入数据k之后输出的结果不正确的是( )
L=[8,10,9,14,13,4,9,13,10]
k=int(input('请输入k值:'))
j=0
for i in range(9):
if L[i]<=k:
L[j]=L[i]
j=j+1
print(L[:j])
A.k=8输出:[8,4] B.k=9 输出:[8,9,4,9]
C.k=10输出:[8,10,9,4,9,10] D.k=13输出:[8,10,9,13,4,9,13]
8.在Python中,下列能用作变量名的是( )
A.x3 B.4pk C.if D.y!
9.列表是最常用的Python数据类型,列表的数据项不需要具有相同的类型,创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。对列表BookInf=[1,2,4,6,7,5,1,9,6],下列错误的是( )
A.BookInf.append(10),列表添加了10元素
B.print(BookInf[-2]),输出:1
C.BookInf.remove(BookInf[6]),print(BookInf),输出:[2,4,6,7,5,1, 9,6]
D.del(BookInf[6]),print(BookInf),输出:[1,2,4,6,7,5,9,6]
10.在 Python 中,导入数学函数模块的语句是( )
A.from math import * B.input math C.import math D.选项A和C
11.下面Python代码运行后,a、b的值为( )
a=23
b=int(a/10)
a=a-b*10
print(a,b)
A.23 2 B.3 2 C.3 20 D.2 3
12.在Python中,执行a="name"语句后,变量a的数据类型是( )
A.int(整型) B.float(浮点型) C.str(字符串) D.bool(布尔型)
13.以下程序实现的是字符串的去重功能,且不改变字符原来的顺序。程序运行如下图所示:
p = input ()
print ("原始字符串:", p)
s = [p [i] for i in range (len(p))]#字符串p转换成列表s, 如p = "on" , 则s= ["o", "n"]
i=1; j=len (s)
while ① :
if s [i] in s[:i]:
s= s [:i]+ s [i+1:j]
j = len (s)
i- =1
i+=1
sp =""
for i in range ( ② ):
sp+ = s [i]
print ("去重后字符串:", sp)
划线处的代码应填为( )
A.①i< =j ②j B.①i<j ②j-1 C.①i<=j ②j-1 D.①i<j ②j
14.在计算机中存储容量的基本单位是B(字节),文件大小透常用B、KB、MB、GB、TB等单、位来表示,例如:1024B大小的文件比较适合用KB表示为1KB,依据数据量的大小,使用最适合的单位表示文件大小。下图是某学习小组编写的Python程序,输入数据量的大小(B),换算出最适合的单位表示该文件大小。该程序段中有几个变量( )
A.3 B.4 C.5 D.6
15.在Python语言中,下列选项中能实现输入数据的函数是( )
A.input() B.print() C.show() D.abs()
16.对于一个正整数a,要使用Python表达式判断它是奇数还是偶数,下列叙述错误的是( )
A.若a%2==0,则a是偶数 B.若a%2==1,则a是奇数
C.若a/2==1,则a是奇数 D.若int(a/2)==a/2,则a不是奇数
二、填空题
17.在Python中, 函数用于实现循环结构。
18.python中,表达式5//2 = 。
19.下面代码段的运行结果为 。
for i in range(2,20,2):
print i
20.编写Python程序时,下列表达式应写成( )
21.用户自定义函数是用户自己写的一段程序。一般包括 、 、 和 等四部分。
三、判断题
22.在Python3.x语言中,input()函数的返回值类型是字符串。( )
23.在Python中,print("abc" * 3)的执行结果是"abcabcabc"。( )
24.程序总是施行操作于某些对象,这些对象通常称为数据。( )
25.在 Python 语言中,条件表达式使用“=”判断两个操作数是否相等。( )
26.注释语句是对程序代码的解释和说明,在运行程序时不会被执行。( )
四、操作题
27.有Python程序代码如下:
list1=[7,3,2,9,8,4,6]
ml=m2=list1[0]
for i in range(1,len(list1)):
if ml< listl[i]:
ml=list1[i]
elif m2>list1[i]:
m2=list1[i]
print(ml,m2)
(1)执行上面程序,变量ml,m2输出结果是( )
A.9 2 B.2 9 C.7 7 D.9 9
(2)分析本题代码功能,下列与输出变量ml,m2功能等价的语句是( )
A.print(max(list1),min(list1)) B.print(min(list1),max(list1))
C.print(sum(list1),max(list1)) D.print(max(list1),sum(list1))
28.用Python编辑器打开“Y:\226”文件夹下的文件“p3-2.py”进行操作并保存,使之能够实现以下功能。
输入两个不为零的整数a和b,判断a/b的值是否大于等于1,如果大于等于1,输出“大于等于”,否则输出a/b的值。
测试数据如下:
(1)输入40和7,输出“大于等于”。
(2)输入8和10,输出0.8。
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.A
【详解】本题考查Python基础。
选项B,冒号写错位置并缺少else关键字。选项C,if关键字写错位置并缺少冒号。选项D,条件判断写错位置,应该写在if关键字后。故正确答案为:选项A。
2.C
【详解】本题考查Python程序。print(MMin(3, 6, 9)),此处传入了三个参数,而函数MMin只接收两个参数。故答案为:C。
3.C
【详解】本题考查Python基础。
a和b的关系为有三种可能即大于、小于或等于,选项C表达了这三种关系,故正确答案为:选项C。
4.C
【详解】本题考查程序分析。
在这个Python程序中,f1 和 f2 最初都被设置为1。然后,通过一个循环三次执行赋值操作,每次迭代都交换f1和f2的值,并且更新f2为原来f2的值加上f1的当前值。
让我们逐步分析每次迭代后f1和f2的值:
初始状态:f1 = 1, f2 = 1
第一次迭代 (i = 0):
f1, f2 = f2, f1 + f2 执行前:f1 = 1, f2 = 1
执行后:f1 = 1, f2 = 1 + 1 = 2
第二次迭代 (i = 1):
f1, f2 = f2, f1 + f2 执行前:f1 = 1, f2 = 2
执行后:f1 = 2, f2 = 1 + 2 = 3
第三次迭代 (i = 2):
f1, f2 = f2, f1 + f2 执行前:f1 = 2, f2 = 3
执行后:f1 = 3, f2 = 2 + 3 = 5
因此,程序执行完成后,f2的值为5。
故正确答案为:选项C。
5.A
【详解】本题考查Python程序。程序首先生成一个1到9之间的随机整数作为a[0],并根据a[0]是否为偶数更新flag数组。然后通过while循环生成a[1]到a[6],每次生成新的随机数a[i],并根据前一个数a[i-1]的flag值或当前数a[i]是否大于等于前一个数a[i-1]来更新flag数组。当a为[9,9,8,3,2,6,2]时,根据以上步骤执行程序可知flag的值为[0,0,1,1,0,0,1,0,1,1]。故答案为:A。
6.B
【详解】本题考查Python运算符与表达式相关内容。A选项,a>b or a>c-->True or True-->True。B选项,b!=c and a==c-->True and False-->False。C选项,b>c or (not a<c)-->True or True-->True。D选项,a>b and b>c-->True and True-->True。故本题答案是B选项。
7.D
【详解】本题考查程序分析。该程序功能,当输入值k大于等于当前遍历的L[i]值,将L[j]=L[i]。索引值j初始化为0,满足条件后j=j+1更新。当k=13时,输出结果为[8,10,9,13,4,9,13,10],故选项D不正确。故正确答案为:选项D。
8.A
【详解】本题考查Python程序设计相关内容。变量名只能包含字母(大小写均可)、数字和下划线(_);必须以字母(大小写均可)或下划线(_)开头,不能以数字开头;区分大小写;避免使用Python关键字作为变量名。变量名应该具有描述性,以便代码可读性更高。使用下划线来分隔多个单词。变量名应该尽量简洁,但也要保持足够的描述性,以便于理解变量的用途。A选项,符合变量命名规则,可以用作变量名。B选项,4pk数字开头,不符合变量命名规则。C选项,if是关键字,不能做变量名。D选项,!为非法字符,不符合变量命名规则。故本题答案是A选项。
9.B
【详解】本题考查了Python列表的基本操作。BookInf.append(10)会在列表末尾添加元素10,A选项正确。print(BookInf[-2])会输出倒数第二个元素,即9,而不是1,B选项错误。BookInf.remove(BookInf[6])会移除列表中第6个元素,即第一个1,之后打印列表,输出为[2,4,6,7,5,1,9,6],C选项正确。del(BookInf[6])会删除列表中的第6个元素,即第一个1,之后打印列表,输出为[1,2,4,6,7,5,9,6],D选项正确。故答案为:B。
10.D
【详解】本题考查Python程序设计相关内容。在Python中,math模块提供了一些常用的数学函数和常量,可以用于处理数学运算和计算。要使用math模块,需要在代码的开头添加“import math”或“from math import *”语句。故本题答案是D选项。
11.B
【详解】本题考查Python程序设计相关内容。b=int(a/10)-->b=2;a=a-b*10-->a=3。故本题答案是B选项。
12.C
【详解】本题考查Python数据类型。在Python中,字符串放在双引号或单引号中,因此执行a="name"语句后,变量a的数据类型是str(字符串)。故选C。
13.D
【详解】本题考查Python程序设计相关内容。分析程序段,①处,字符串索引号介于[0,len(s)-1]之间,i作为s的索引号,不能超过s的最大索引号,j=len(s),此处应填写:i<j。②处,通过上文代码“j=len(s)”知,j值始终为列表s的长度,此处所在循环作用是将去重后的列表元素连接到sp中,循环次数由j决定,此处应填写:j。故本题答案是D选项。
14.D
【详解】本题考查Python程序设计相关内容。程序段中的变量有:size、dw、L、count、tmp、d,共6个。故本题答案是D选项。
15.A
【详解】本题考查Python函数相关内容。input()是一个内置函数,接受一个标准输入数据,返回为string类型。print()用来输出指定的字符串或数值到标准输出装置的函数。show()是一个用于显示图形的函数,可以在Python程序中直接调用。abs()接受一个数字作为参数,并返回该数字的绝对值。故本题答案是A选项。
16.D
【详解】本题考查Python算术运算符相关运算。ABC选项均可以得出相应结论,均正确;D选项,int(a/2)==a/2只能判断出a是整数,无法判断其奇偶性,选项错误。故本题答案是D选项。
17.for
【详解】本题考查Python循环结构。在Python中,函数用于封装代码块以实现特定功能,而循环结构通常是通过for循环或while循环来实现的。
18.2
【详解】本题考查Python基础。表达式 5 // 2 使用了整数除法运算符 //,故为2。
19.2,4,6,8,10,12,14,16,18
【详解】本题考查Python程序设计相关内容。range函数用于生成一个整数序列,其语法是range(start, stop[, step])。其中start是序列的起始值,stop是序列的结束值(不包括),step是步长,默认为1,即序列中相邻两个数的差。分析程序段,i初始值为2,步长为2,20是序列的结束值(不包括),则输出结果为:2,4,6,8,10,12,14,16,18。
20. x=(a-b)/(2*a)
【详解】本题主要考查Python表达式的运算。编写Python程序时,乘运算符是*,因此该表达式应写成x=(a-b)/(2*a)。
21. 函数名 函数体 参数 返回值
【详解】本题考查Python函数相关内容。在Python中,函数是一个可以接收输入参数并执行某个特定任务的代码块。函数可以定义一次并在需要时重复使用,避免了在代码中重复编写相同的逻辑。Python函数通常由关键字“def”开始定义,并可以接受任意数量的输入参数。函数可以执行任何代码块,并可以返回值或不返回任何值。函数可以嵌套在其他函数或类中,并且可以被其他函数调用。函数是非常重要的程序组件。使用函数可以大大简化程序代码,并提高代码的可读性和可维护性。用户自定义函数是用户自己写的一段程序,一般包括:函数名、函数体、参数、返回值。
22.正确
【详解】本题考查Python函数。input()函数用于从标准输入读取一行,并将其作为字符串返回。无论用户输入什么内容,input()函数返回的值始终是字符串类型。故说法正确。
23.正确
【详解】本题考查的是Python输出语句。*在字符串运算中表示重复。故print("abc" * 3)的执行结果是"abcabcabc"。题干说法正确。
24.正确
【详解】本题考查程序相关内容。程序是一组机器操作的指令或语句的序列,是算法的一种描述,程序总是施行操作于某些对象,这些对象通常称为数据。故本题答案是:正确。
25.错误
【详解】本题考查Python关系表达式。=是赋值号,==表示相等,故表述错误。
26.正确
【详解】本题主要考查程序注释语句的描述。注释语句是对程序代码的解释和说明,在运行程序时不会被执行,表述正确。
27. A A
【详解】本题考查Python基础。
(1)该程序功能,m1存放列表list1的最大值,m2存放list1的最小值。故正确答案为:选项A。
(2)等价功能只需要调用max和min函数即可。先输出最大,后输出最小。故正确答案为:选项A。
28.# 输入两个整数a和b
a = int(input("请输入第一个整数a: "))
b = int(input("请输入第二个整数b: ")) #
if a /b>=1:
print("大于等于")
else: # 否则输出a/b的值
print(a/b)
【详解】本题考查Python分支结构的应用。调用input()函数读入两个值,默认是字符串类型,int() 函数用于将给定的值转换为整型;判断a/b的值是否大于等于1,如果大于等于1,输出“大于等于”,否则输出a/b的值,使用if-else语句。程序执行如下:
# 输入两个整数a和b
a = int(input("请输入第一个整数a: "))
b = int(input("请输入第二个整数b: "))
if a /b>=1:
print("大于等于") else: # 否则输出a/b的值
print(a/b)
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$