2.4 可以复用的代码 同步练习(含答案)-高中信息技术教科版(2019)必修1

资源下载
  1. 二一教育资源

2.4 可以复用的代码 同步练习(含答案)-高中信息技术教科版(2019)必修1

资源简介

2.4 可以复用的代码(同步练习)-高中信息技术教科版(2019)必修1
一、填空题
1.用户自定义函数是用户自己写的一段程序。一般包括______、______、______和______等四部分。其中______和______是必不可少的,______和______可根据需要进行定义。
2.Python内置函数______可以返回列表、元组、字典、集合、字符串以及range对象中元素个数。
3.Python内置函数______用来返回数值型序列中所有元素之和。
4.函数的调用采用______的方式。
5.函数执行完成后,由______将表达式的值返回给调用者,结束函数。
6.调试程序。请阅读以下程序并写出运行结果。
fruites=['banana','apple','mango']
for fruit in fruites:
print(fruit)
a=len(fruites)
print('a=',a)
_________________
二、操作题
7.定义函数的基本
def jiecheng(n):
s=1
for i in range(2,n+1):
s=s*i
___________
abs=input(”请输入需求解的阶乘数n:”)
total=___________
print(total)
8.统计英文文本中出现的不同单词个数:输入一段英文文本,要求单词和单词之间用1个空格或标点符号隔开,文末以标点符号结尾,在区分单词大小写的情况下,输出该文本中所出现的不同单词个数。Python程序运行界面如图所示。
(1)实现上述功能的Python程序段如下,请在划线处填入适当的代码。
text=input("请输入英文文本:")
lst=[]
s=""
def judge(① _______):
if st in lst:
return False
else:
return True
for i in range(len(text)):
②_______
if "a"<=c<="z" or "A"<=c<="Z":
s=s+c
else:
if judge(s):
lst.append(s)
s=""
print("出现的不同单词个数为:",len(lst))
(2)运行程序时,若输入的英文文本为“Great hopes make great men”(不包括双引号),则输出的不同单词个数为_______。
三、选择题
9.编写Python程序求解51+52+53+……+100的和,程序代码如题图所示。则代码中①处应填入的数值是( )
s=0 for i in range( ① ,101): s=s+i print(s)
A.1 B.49 C.51 D.100
10.在运行for循环语句程序时,没有错误提示但结果不对,此时应该检查( )
A.for语句是否有冒号 B.循环语句是否存在逻辑错误
C.for语句保留字是否正确 D.循环体语句是否正确缩进
11.实现求1~100共100个数的和的程序如下:
sum=0
for i in _____________:
sum+=i
划线处应填入的代码为( )
A.range(1,101) B.range(0,100) C.range(1,100) D.range(100)
12.某python程序如下,程序运行完后,输出s2的值是( )
s1="today"
s2=""
for c in s1:
s2=c+s2
print(s2)
A.today B.yadot C.odayt D.tdyoa
13.在Python语言中,运行以下代码,运行结果是( )
sum= 1
for j in range(1,5):
sum= sum *j
print(sum,j)
A.24,5 B.120, 5 C.24 ,4 D.120, 4
14.某python程序如下,程序运行完后,输出x的值是( )
x=0
for i in range(1,11,2):
x+=i
print(x)
A.9 B.16 C.25 D.36
15.新高考改革学生可以自主决定科目组合。某校为了统计选物理学科人数,从而划分班级。现通过输入所有 n 名学生的选科情况,计算选物理学科的总人数。
待补全程序代码如下:
n = int(input("请输入学生总人数:"))
sum = 0
for i in range(①):
t = input("输入选科编号:")
if t == "":
sum=②
print("选物理学生人数为:",sum)
下列正确答案是( )
A.①应为 n ,②应为 sum+ 1 B.①应为 n+ 1 ,②应为 sum
C.①应为 n ,②应为 i+1 D.①应为 n+ 1 ,②应为 t+1
16.有如下Python程序段:
import random
a=[]
for i in range(6):
a.appendrandom.randintrandom.randint(1,10))
for i in range(5):
if i%2==0 and a[i] < a[i+1]:
a[i],a[i+1]=a[i+1],a[i]
else:
a[i]-=1
print(a)
运行该程序后,输出结果不可能的是( )
A.[7, 3, 3, 4, 9, 4] B.[8, 8, 10, 5, 7, 8] C.[9, 4, 9, 4, 8, 7] D.[7, 2, 9, 7, 4, 5]
17.已知a="012345",b=["012",3,4,5],c={0:1,2:4,3:5},下列语句执行完毕后,s的值为5的是( )
A.s=0 for i in a[5]: s=s+1 B.s=0 for i in range(b[2]): s=s+1
C.s=0 while s<=c[2]: s=s+1 D.s=0 while s>c[3]: s=s+1
A.A B.B C.C D.D
18.下列程序运行后结果是( )
sum=0
for i in range(1,7,2):
sum = sum+i
print(sum)
A.4 B.7 C.9 D.16
参考答案
1.答案:函数名 参数 返回值 函数体 函数名 函数体 参数 返回值
解析:
2.答案:len()
解析:
3.答案:sum()
解析:
4.答案:函数名(参数)
解析:
5.答案:return语句
解析:
6.答案:banana
apple
mango
a= 3
解析:
7.答案:Return s,jiecheng(abs)
解析:
8.答案:(1)st;c=text[i]
(2)4
解析:本题考查Python程序。
(1)在答题空1中,使用st来作为函数judge的参数,这是因为在程序的上下文中,我们正在处理文本中的每个字符,希望将字符构建成一个完整的单词。st在这里是一个代表正在构建的单词的字符串。故答案为:st。在答题空2中,使用c=text[i]来将当前循环迭代到的字符存储在变量c中。这是因为我们需要检查当前字符是否是字母(构成单词的一部分),或者是非字母字符(表示一个单词的结束或标点符号)。故答案为:c=text[i]。
(2)入的英文文本 "Great hopes make great men" 中包含以下4个不同的单词:Great、hopes、make、men。在程序中,我们通过判断单词是否已经在 lst 列表中来记录不同的单词,然后最后输出 lst 的长度,即不同单词的个数为4。故答案为:4.
9.答案:C
解析:本题考查的是range函数。格式:range(起始值,结束值,步长),结束值不包含,步长可省略,默认为1。由题干“求解51+52+53+……+100”可知起始值为51,故本题应选C。
10.答案:B
解析:本题考查循环语句。当在运行for循环语句程序时,没有错误提示但结果不正确,通常表示存在逻辑错误,这意味着程序的控制逻辑不符合预期,导致循环的执行不如预期那样。因此,应该检查循环语句中的逻辑,包括循环条件、循环变量的变化、循环体内的操作等,以确定问题出在哪里,并进行适当的修正。故答案为B选项。
11.答案:A
解析:本题主要考查Python循环结构的应用。range(start, stop, [step]),start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5;step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)。实现求1~100共100个数的和,因此循环条件是range(1,101),故本题选A选项。
12.答案:B
解析:本题考查Python程序执行。解题思路程序可知,该程序实现将字符串s1逆序保存到s2中,s1="today",因此程序运行完后,输出s2的值是yadot,故选B。
13.答案:C
解析:本题考查的是Python循环语句。range(1,5)生成1、2、3、4序列数,故sum=1*1*2*3*4=24,j的终值是4。选项C正确。
14.答案:C
解析:本题考查Python循环结构的应用。range(start, stop, [step]),start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5;step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)。变量i依次取1、3、5、7、9,因此x=x+i=0+1+3+5+7+9=25,故选C。
15.答案:A
解析:本题考查的是Python循环语句应用。range(起始值,结束值,步长)结束值不包含,步长可省略,默认为1,起始值可以省略,默认为0;故①应为 n;输入的选科若为物理学科,则统计人数加1,sum存放的是选物理学科的人数,故②应为 sum+ 1。选项A正确。
16.答案:A
解析:本题考查的是循环语句。阅读程序可知,列表索引为偶数同时比后一个元素小时,交换两数;其余情况列表元素值减1。如果原来列表索引为偶数的值比后一个大,这两个数都是执行else,执行后索引为偶数的值还是大于后一个;如果原来列表索引为偶数的值等于后一个,这两个数都是执行else,执行后索引为偶数的值还是等于后一个(特例:当原来a[4]=a[5],由于第二个for变量取值到4,a[5]不减1,这时a[5]-a[4]=1);如果原来列表索引为偶数的值比后一个小,索引为偶数执行if语句(使得索引为偶数的值大于后一个),后一个执行else,执行后索引为偶数的值大于后一个。总上所述,程序执行结果肯定:a[0]>=a[1],a[2]>=a[3]。选项A中a[2]=3,a[3]=4不满足a[2]>=a[3]。故本题应选A。
17.答案:C
解析:本题考查Python循环结构的应用。已知a="012345",b=["012",3,4,5],c={0:1,2:4,3:5},a[5]="5",b[2]=4,c[2]=4,c[3]=5,选项运行结果依次是:1、4、5、0。故选C。
18.答案:C
解析:本题考查Python循环结构的应用。range(start, stop, [step]),start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5;step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)。变量i依次取1、3、5,因此sum=sum+i=0+1+3+5=9。故选C。

展开更多......

收起↑

资源预览