资源简介 第二章 算法与程序实现 单元测试一、选择题1.以下是正确的字符串( )A.‘abc”ab” B.“abc”ab’ C.“abc”ab” D.“abc\”ab”2.有如下Python程序段:a=[[0 for i in range(3)]for j in range(3)]for i in range(3):for j in range(3):a[i][j]=i*5+j+1for i in range(1,3):for j in range(2):print(a[j][i],end=" ")程序段执行后,输出的结果是( )A.2 3 7 8 B.7 12 8 13 C.2 7 3 8 D.6 7 11 123.有如下Python程序段:s="Python"ans=""for i in range(len(s)):c=s[i]if "a"<=c<="z":if i%2==0:c=chr((ord(c)–ord("a")–i)%26+ord("a"))else:c=c.upper( ) #x.upper( )将字符串x中的大写字母转换成小写字母ans+=cprint(ans)执行该程序段后,输出的内容是( )A.PYwHtN B.YrHkN C.PaTIOt D.PYrHkN4.下面关于用算法来解决问题的4个步骤,正确的顺序为( )。①建立数学模型;②设计算法;③分析问题;④描述算法。A.①②③④ B.③②①④ C.①③②④ D.③①②④5.根据雨水的pH判断酸雨情况的规则为:当pH小于4.7时为“重度酸雨”,当pH介于4.7~5.6时为“轻度酸雨”,当pH大于5.6时为“非酸雨”。其算法流程图如下图所示,则图中①、②所在判断框中的内容是( )A.①PH<4.7? ②PH≤5.6 B.①PH<4.7? ②PH<5.6 C.①PH<4.7? ②PH>5.6 D.①PH≥4.7? ②PH≤5.6 6.下列不属于基本数据类型的是( )A.整型 B.浮点型 C.复数类型 D.字符串7.某算法的部分流程图如图所示,执行这部分流程,下列说法正确的是 ( )A.s 输出的值为 16B.循环结束时 k 的值为 1C.最后输出时 a 的值为 16D.循环结束时,判断条件 a<32 一共执行 6 次8.用人们日常生活中使用的语言描述算法,这种算法描述方法是( )A.自然语言 B.机器语言 C.汇编语言 D.高级语言9.下列关于Python运算符的使用描述正确的是( )A.a*=b,等同于a=a*b B.a//=b,等同于a=a/bC.a=+b,等同于a=a+b D.a**b,等同于b**a10.python文件的扩展名是( )A.py B.pye C.vbp D.pyr11.表达式 4**2==8 or int(6.22)==round(6.22) and not 'WZ' in 'WenZhou'的计算结果为( )A.true B.True C.False D.fasle12.下列选项中,可以作为Python程序变量名的是( )A.2a B.ab C.a+b D.for13.下列Python变量名正确的是( )A.False B.4num C.print D._Z_214.某算法的部分流程图如图所示。下列说法正确的是( )A.该流程执行后,变量s的值是 -1B.该流程执行后,变量k的值是10C.该流程完整执行1次,“s←s-k”共执行了4次D.该流程完整执行1次,“s≥0?”共执行了4次15.下列Python赋值语句中,无法正确运行的是( )A.a=b=c=5 B.a, b=c C.a+=b D.b=-c二、填空题16.表达式:3 in [1,2,3,4] 的值是 。17.阅读程序段并回答问题。x=1a=xb=x+1上述程序执行后,变量a的值是 ,变量b的值是 。18.若列表f中依次存放着[2,3,7,9,6,4,1,5,4,1,6,8]这12个整数,以下程序代码的运行结果是 。s=0f=[2,3,7,9,6,4,1,5,4,1,6,8]For i in range(12): if i%3==2:s=s+f[i]print(s)19.Python中赋值语句c+=a 等效于 。20.Python 计算:(1)Python 表达式4.5/2的值为 。(2)Python表达式4.5//2的值为 。(3)Python 表达式4.5%2的值为 。(4)Python 表达式5%2的值为 。(5)Python 表达式12/4-2+5*8/4%5/2的值为 。三、判断题21.编写程序的任务就是用一种计算机程序设计语言来描述问题求解的算法。( )22.关键词不能作为Python的变量名。( )23.算法的三种基本控制结构是分支结构、循环结构和模块结构。( )24.选择结构中,无论条件是否成立,都可以同时执行两个步骤。( )25.在流程图中,表示输入输出功能。( )四、操作题26.操作要求:打开程序文件“计算圆的周长.py”,删除序号①、②、③并填写正确的代码实现题目所述功能,调试完成后保存程序文件并关闭应用软件。该程序的功能是:输入一个圆的半径r的值,输出圆的周长C。(公式为:C=2πr,π=3.14)素材文件:27.某手机 APP 程序为了增加程序热度,采用“签到换积分得奖品”的形式来吸引用户使用。签到积分的规则为:第1天签到得1分,第2天签到得2分,第3天签到得3分,…第7天及7天以上签到得7分;一旦中途漏签,签到积分从1分开始计算。如下图所示,签到获得的总积分为14分。现利用“0”、“1”记录签到情况,其中“1”表示正常签到,“0”表示断签,输出获得的总积分数。例如,上图输入可以表示为“101111011”,输出结果为 14 分。实现上述功能的程序如下,请回答下列问题:(1)若签到记录为“100111110111”,则获得的总积分为 。(2)根据题意和程序,本题主要使用的算法控制结构为 。(单选,填字母)A.顺序结构 B.分支结构 C.循环结构(3)为实现上述功能,请在划线处填入合适的代码。s=input("输入签到情况:")x=0c=1for i in range(len(s)): if s[i]=="0": elif : x=x+c c=c+1 else: x=x+7print(x)五、简答题28.什么是常量,什么是变量?常量和变量的特点是什么?29.read、readline和readlines之间的区别?30.判断输入的一个整数能否同时被3和7整除,若能,则输出“Yes”;否则输出“No”。31.编写程序。一辆动车即将穿越隧道,已知隧道全长a米,动车车长为300米,动车的速度为b米/秒。请编写一个程序,根据用户输入的数值,计算并输出动车完全通过隧道需要花费的时间。要求:屏幕提示用户输入隧道长度和动车的行驶速度(输入时大于0 的浮点数),输出火车完全通过隧道需要花费的时间。 提示:时间=(隧道长度+动车长度) 动车速度,单位为秒。参考答案1.D【详解】本题主要考查字符串。字符串的引号‘ ‘、“ ”,必须是成对出现,ABC不行,D选项中间“被\转义了,故本题选D选项。2.C【详解】本题主要考查Python程序的执行。第一句执行完,列表a的值为[[0, 0, 0], [0, 0, 0], [0, 0, 0]];第一个嵌套for循环执行完,列表a的值为[[1, 2, 3], [6, 7, 8], [11, 12, 13]];第二个嵌套for循环执行完依次输出2 7 3 8,故本题选C选项。3.D【详解】本题主要考查Python程序的执行。分析程序可知,变量c依次取s中的字符,如果c是小写字母,则判断i的奇偶性,如果i是偶数,则执行c=chr((ord(c)–ord("a")–i)%26+ord("a")),即将该小写字母循环向前移i位,即“t”变为“r”,“o”变为“k”,如果i是奇数,则将小写字母变为大写字母。若c是其他字符,则保持不变,故执行该程序段后,输出的内容是PyrHkN,故本题选D选项。4.D【详解】本题主要考查算法解决问题步骤。用算法解决问题步骤一般为③分析问题;①建立数学模型;②设计算法;④描述算法。因此D选项正确。【点睛】5.A【详解】本题主要考查算法流程图。当pH小于4.7时为“重度酸雨”,当pH介于4.7~5.6时为“轻度酸雨”,当pH大于5.6时为“非酸雨”,可知①、②所在判断框中的内容是①PH<4.7? ②PH≤5.6 ,故本题选A选项。6.C【详解】本题主要考查Python数据类型。整型、浮点型、字符串、布尔类型等均属于基本数据类型,复数类型不属于基本数据类型,故本题选D选项。7.D【详解】本题主要考查算法流程图。s=1,k=1,a=1,第一遍循环,满足a<32,s=s+k*a=2,k=1-k=0,a=2*a=2;第二遍循环,满足a<32,s=s+k*a=2,k=1-k=1,a=2*a=4;第三遍循环,满足a<32,s=s+k*a=6,k=1-k=0,a=2*a=8;第四遍循环,满足a<32,s=s+k*a=6,k=1-k=1,a=2*a=16;第五遍循环,满足a<32,s=s+k*a=22,k=1-k=0,a=2*a=32;第六遍循环,不满足a<32,退出循环,故执行这部分流程,s输出的值为22,循环结束时 k 的值为 1,最后输出时 a 的值为 32,循环结束时,判断条件 a<32 一共执行 6 次,故本题选D选项。8.A【详解】本题考查的是算法的描述。用自然语言描述算法,就是用人们日常所用的语言,如汉语、英语等来描述算法。故本题应选A。9.A【详解】本题主要考查Python运算符。a*=b,等同于a=a*b;a//=b,等同于a=a//b;“**”是幂运算,a**b,不等同于b**a,故本题选A选项。10.A【详解】本题主要考查Python文件。python文件的扩展名是py,故本题选A选项。11.B【详解】本题主要考查Python表达式的运算。逻辑运算符or两边值均为假时值才为假,否则值为真;逻辑运算符and两边值均为真时值才为真,否则值为假,not是取反。4**2=16,则表达式4**2==8值为False;int(6.22)=6,round(6.22)=6,故表达式int(6.22)==round(6.22) 值为True;表达式'WZ' in 'WenZhou'值为False,则表达式not 'WZ' in 'WenZhou'值为True,故表达式 4**2==8 or int(6.22)==round(6.22) and not 'WZ' in 'WenZhou'的计算结果为值为True,故本题选B选项。12.B【详解】本题主要考查Python变量的命名。变量名可以包括字母、数字、下划线,但是数字不能作为开头,系统关键字不能做变量名使用,除了下划线之外,其它符号不能作为变量名使用。结合选项,可以作为Python程序变量名的是ab,故本题选B选项。13.D【详解】本题主要考查Python变量的命名。变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。变量名正确的是_Z_2,故本题选D选项。14.C【详解】本题主要考查算法流程图的执行。s=10,k=1,第一次循环,满足s>=0,s=s-k=9,k=k*2=2;第二次循环,满足s>=0,s=s-k=7,k=k*2=4;第三次循环,满足s>=0,s=s-k=3,k=k*2=8;第四次循环,满足s>=0,s=s-k=-5,k=k*2=16;第五次循环,不满足s>=0,故该流程执行后,变量s的值是 -5,变量k的值是16,该流程完整执行1次,“s←s-k”共执行了4次,“s≥0?”共执行了5次,故本题选C选项。15.B【详解】本题主要考查Python赋值语句。Python赋值语句是将等号右边的表达式赋值给等号左边的变量,故无法正确运行的是a, b=c,故本题选B选项。16.True【详解】本题主要考查表达式的运算。有in成员运算符,结果只能是True 或 False,3在列表 [1,2,3,4]中,故表达式的值为True。17.1 2【详解】本题主要考查程序语句。①x=1,a=x=1。②b=x+1=1+1=2。18.23【详解】本题主要考查Python程序的执行。分析程序可知,首先统计列表f中满足整除3余2的数i,满足的数有2、5、8、11,其次执行s=s+f[i]=0+7+4+4+8=23。19.c=c+a【详解】本题主要考查Python赋值语句。Python中赋值语句c+=a 等效于c=c+a。20.2.25 2.0 0.5 1 1.0【详解】本题主要考查Python表达式的运算。“/”是除运算,“//”是整除运算,“%”是取余运算,故①4.5/2=2.25,②4.5//2=2.0,③4.5%2=0.5,④5%2=1,⑤12/4-2+5*8/4%5/2=3.0-2+0.0=1.0。21.对【详解】本题考查程序编写编写程序的任务就是用一种计算机程序设计语言来描述问题求解的算法。表述正确22.正确【详解】本题主要考查Python变量的命名。变量的命名规则有:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。故表述正确。23.错误【详解】本题主要考查算法的基本结构。算法的三种基本结构是:顺序结构、分支结构和循环结构,故表述错误。24.错误【详解】本题考查的是算法结构。选择结构中,根据条件来选择执行的步骤。故题干中说法错误。25.错误【详解】本题主要考查算法流程图。菱形是条件判断框,平行四边形是数据输入/输出框,圆角矩形是开始/结束框,矩形是数据处理框,故表述错误。26.python操作题满分卷示例:【详解】本题主要考查Python程序。①圆的半径可能是小数,是浮点型数据,故填float。②周长的公式是C=2πr,π=3.14,故此处填2*3.14*r。③变量C保存周长,故填C。具体代码如下:27.22 C c=1 s[i]=="1" and c<=7【详解】本题主要考查Python程序的综合应用。①若签到记录为“100111110111”,则获得的总积分为1+1+2+3+4+5+1+2+3=22。②根据题意和程序,本题主要使用的算法控制结构为循环结构。③如果s[i]=="0"则表示断签了,变量c表示每天签到对应的积分数,一旦中途漏签,签到积分从1分开始计算,故填c=1。④根据代码“x=x+c、c=c+1”可知此次处理正常签到的情况下且连续签到没有超过7天,故填s[i]=="1" and c<=7。28.常量是指在程序运行过程中其值始终不发生变化的量,通常是固定的数值或字符串。变量是指在程序运行过程中其值可以发生变化的量。常量是固定值,变量可以多次赋值。【详解】本题考查的是常量、变量。常量是指在程序运行过程中其值始终不发生变化的量,通常是固定的数值或字符串。变量是指在程序运行过程中其值可以发生变化的量。常量是固定值,变量可以多次赋值。29.read 读取整个文件;readline 读取下一行,使用生成器方法;readlines 读取整个文件到一个迭代器以供我们遍历。【详解】本题主要考查Python文件读取函数。read、readline和readlines之间的区别是:read 读取整个文件;readline 读取下一行,使用生成器方法;readlines 读取整个文件到一个迭代器以供我们遍历。30.n=int(input("请输入一个整数:"))if n%3==0 and n%7==0: print("Yes")else:print("No")【详解】本题主要考查if条件结构。判断输入的一个整数能否同时被3和7整除,可知if判断条件应使用逻辑运算符and。31.a=float(input("请输入隧道长度(米):"))b=float(input("请输入动车速度(米/秒):"))if a>0 and b>0: c=(300+a)/bprint("火车完全通过隧道需要的时间为",c,"秒")【详解】本题主要考查Python编程。a=float(input("请输入隧道长度(米):"))与b=float(input("请输入动车速度(米/秒):"))用于接收用户输入数据;根据实际要求,需要a>0 and b>0;c=(300+a)/b用于计算时间。 展开更多...... 收起↑ 资源预览