内容正文:
浙江绍兴鲁迅中学2025-2026学年高一上期末
信息技术试题
考生须知:
1.本卷共2大题,第一大题选择题占90分,第二大题作图题占10分,满分100分,时间60分钟
2.答题前,请务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔分别填写在答题纸规定的位置上。
3.答题时,请按照答题纸上“注意事项”的要求,在答题纸相应的位置上规范作答,在本试题卷上的作答一律无效。
一、选择题(共45题,每题2分,共90分,每题只有1个正确选项)
1. 下列不能作为Python变量名的是( )
A. 123abc B. abc123 C. a_1 D. tea
【答案】A
【解析】
【详解】本题考查Python变量名的命名规则。Python变量名的命名规则为:只能由字母、数字、下划线组成,且不能以数字开头,同时不能使用Python的关键字。选项中的123abc以数字开头,不符合命名规则,无法作为合法的Python变量名,而abc123、a_1、tea均符合变量名的命名要求,可以作为Python变量名。故答案为:A
2. 下列赋值语句,正确的是( )
A. 5=a B. a+b=x C. a=5+3 D. a+b=x+y
【答案】C
【解析】
【详解】本题考查赋值语句的语法规则。赋值语句的核心要求是赋值号的左侧必须是单个变量,右侧可以是常量、变量或合法的运算表达式,不能是运算表达式。选项A中赋值号左侧是常量5,不符合要求;选项B中赋值号左侧是表达式a+b,不符合要求;选项C中赋值号左侧是变量a,右侧是合法的算术运算表达式5+3,符合赋值语句规则;选项D中赋值号左右两侧都是运算表达式,不符合要求。故答案为:C
3. 下列Python 表达式中,运行结果为“61”的是( )
A. 6+1 B. 61//10*10 C. "6"+"1" D. "61"in"20220610"
【答案】C
【解析】
【详解】本题考查Python基础表达式的运算规则。第一个选项6+1是整数加法运算,运行结果为整数7,不符合要求;第二个选项61//10*10中,//是整数除法,61//10得到6,再乘以10得到整数60,不符合要求;第三个选项"6"+"1"是字符串的拼接操作,将两个字符串"6"和"1"拼接后得到字符串"61",符合要求;第四个选项"61"in"20220610"是成员判断运算,运行结果为布尔值True,不符合要求。故答案为:C。
4. 下列Python表达式中,不能表示“x属于区间[a, b)”的是( )
A. Not (x<a or x>=b) B. x>=a and x<b
C. Not (x<=a and x>b) D. a<=x<b
【答案】C
【解析】
【详解】本题考查的是表达式相关知识。x属于区间[a, b)表示x大于等于a并且小于b,选项C表示的是x不属于区间[a, b)。故本题应选C。
5. Python 表达式("3"+"2")*2的结果为( )
A. 10 B. "3322" C. "3232" D. 语法错误,程序报错
【答案】C
【解析】
【详解】本题考查Python字符串运算符的使用规则。解析:在Python中,加号作用于两个字符串类型的数据时,执行的是字符串拼接操作,因此"3"+"2"会得到拼接后的字符串"32";而乘号作用于字符串和整数时,会将该字符串重复对应整数的次数,因此"32"*2就是将"32"重复2次,最终得到结果"3232"。故答案为:C。
6. Python表达式abs(-4.5)的值为( )
A. -4 B. 4.5 C. -5 D. 5
【答案】B
【解析】
【详解】本题考查Python内置abs函数的功能与使用。abs是Python中用于返回输入数值的绝对值的内置函数,绝对值的定义是将负数转为对应的正数,非负数保持原值不变,这里传入参数-4.5,计算得到的结果就是4.5。故答案为:4.5对应的选项。
7. Python表达式-9//2的值为( )
A. -4 B. -5 C. 5 D. 4
【答案】B
【解析】
【详解】本题考查Python中的整除运算符//的运算规则。在Python中,//运算符执行的是向下取整的整除操作,即结果会取小于等于商的最大整数。计算-9除以2得到的商是-4.5,小于等于-4.5的最大整数是-5,因此表达式-9//2的运算结果为-5。故答案为:B。
8. Python表达式int(-4.5)的值为( )
A. -4 B. -5 C. 5 D. 4
【答案】A
【解析】
【详解】本题考查Python内置int()函数的数值转换规则。解析:在Python中,int()函数处理浮点型参数时,会采用截断取整的方式,直接舍去小数部分,仅保留整数部分,不会进行四舍五入操作,因此对-4.5执行int转换后,得到的结果是-4。故答案为:A
9. Python表达式3*(2+12%3)**3/5的值是( )
A. 129.6 B. 4 C. 43.2 D. 4.8
【答案】D
【解析】
【详解】本题考查Python算术运算符的优先级与运算规则。Python算术运算遵循优先级从高到低的顺序,先计算取余运算12%3,结果为0,接着计算括号内的2+0,结果为2,之后计算幂运算2**3,结果为8,再计算3*8,结果为24,最后计算24/5,结果为4.8。故答案为:D
10. 下列 Python表达式的值为整数6的是( )
A. 13//2 B. 18%3 C. 24/4 D. 2**3
【答案】A
【解析】
【详解】本题主要考查Python表达式。13//2=6,18%3=0,24/4=6.0,2**3=8,故本题选A选项。
11. 若x=3,则not(x>=5 and x<9)的结果是( )
A. True B. true C. False D. false
【答案】A
【解析】
【详解】本题考查Python逻辑运算相关知识点。首先代入x=3计算括号内的表达式,x>=5即3>=5的结果为False,False和任意值做and逻辑运算的结果都为False,再对False执行not取反运算,得到的结果是True,同时Python中布尔值的首字母为大写,符合要求的结果是True。故答案为:A。
12. 下面哪个选项不能表示a能被b整除( )
A. a/b==int(a/b) B. a%b==0 C. a-a//b*b==0 D. a//b==0
【答案】D
【解析】
【详解】本题考查Python中整除、取余运算的语义与整除判定逻辑。第一个选项中,a除以b的结果取整后和原浮点除法结果相等,说明a除以b没有余数,可以表示a能被b整除;第二个选项中,取余运算a%b的结果为0,是整除的标准判定方式,符合要求;第三个选项中,a//b是a除以b的向下取整商,a减去商乘b的结果就是a除以b的余数,结果为0说明余数为0,可以表示a能被b整除;第四个选项中a//b==0仅代表a除以b的向下取整商为0,比如a=2,b=3时该式成立,但此时a不能被b整除,无法表示a能被b整除。故答案为:D
13. 要生成2,4,6,8这个序列,下列表达式能实现的是( )
A. range(2,8) B. range(2,9) C. range(2,8,2) D. range(2,9,2)
【答案】D
【解析】
【详解】本题考查Python中range函数的使用规则。range函数的语法为range(start, stop, step),其中生成的序列包含起始值start,不包含终止值stop,step为步长,默认步长为1。对各个选项逐一分析:第一个选项range(2,8)默认步长为1,生成的序列是2,3,4,5,6,7,不符合要求;第二个选项range(2,9)默认步长为1,生成的序列是2,3,4,5,6,7,8,不符合要求;第三个选项range(2,8,2)步长为2,生成的序列是2,4,6,不符合要求;第四个选项range(2,9,2)步长为2,终止值为9,生成的序列是2,4,6,8,符合要求。故答案为:D
14. 下列表达式range(1,5,-1),生成的序列对象为( )
A. 1,2,3,4 B. 1,2,3,4,5 C. 5,4,3,2 D. 空
【答案】D
【解析】
【详解】本题考查Python中range函数的使用规则。range函数的语法为range(start, stop, step),生成序列的规则是:当步长step为正数时,序列从start开始,每次累加step,生成小于stop的元素;当步长step为负数时,序列从start开始,每次累加step(即数值递减),生成大于stop的元素。本题中start为1,stop为5,step为-1,步长为负要求生成的元素需要从1开始递减且大于5,不存在满足该条件的数值,因此生成的序列为空。故答案为:空
15. Python表达式len([2,"a",3.7])的值为( )
A. 0 B. 1 C. 2 D. 3
【答案】D
【解析】
【详解】本题考查Python内置len函数的使用以及列表长度的计算规则。len是Python的内置函数,作用是返回序列(如列表、字符串等)中包含的元素总个数,本题中的列表[2,"a",3.7]里依次包含整数2、字符串"a"、浮点数3.7这3个独立元素,因此len函数的返回值为3。故答案为:D。
16. 已知a、b 为整型变量,下列表达式的值一定为False的是( )
A. a!=b B. a>b and b>a C. a>=b or b>=a D. a==b
【答案】B
【解析】
【详解】本题考查的是Python表达式。and是同真为真,a>b And b>a,这两个条件不会同时满足。故本题应选B。
17. 一个班的学生排成一列,从第一位同学开始按1-6循环报数,能正确表示第n位同学所报数字的Python表达式是( )
A. n%6 B. n C. (n-1)%6+1 D. (n+1)%6-1
【答案】C
【解析】
【详解】本题考查Python表达式。从第一位同学开始报数,按照1~ 6循环报数,能正确表示第n位同学所报数字的Python表达式是(n-1)%6+1,不能用n%6的原因是当n是6的倍数时,所报的数字成0了,故选C。
18. Python中,下列用于交换x,y 两个变量的值的语句,不正确的是( )
A. x=y;y=x B. t=x;x=y;y=t
C. t=x+y;x=t-x;y=t-y D. x,y=y,x
【答案】A
【解析】
【详解】本题考查Python赋值语句。x = y; y = x: 这个选项是不正确的,因为它只先会将 y的值赋给 x,然后再将 x 的值赋给 y,从而x和y的值相等,这不会导致 x 和 y 的值交换。故答案为A选项。
19. 数学表达式写成Python表达式,正确的是( )
A. (2a*c)**0.5/a+b B. (2*a*c)*0.5/(a+b)
C. (2*a*c)**0.5/(a+b) D. (2*ac)**0.5/(a+b)
【答案】C
【解析】
【详解】本题考查Python算术表达式的规范书写。首先分析原数学表达式,分子是2ac的平方根,平方根在Python中可以用**0.5实现,且数字和变量、变量和变量之间的乘号不能省略,因此分子部分正确写法是(2*a*c)**0.5;分母是a加b的和,需要用括号将a+b括起来保证先计算加法,再进行整体的除法运算。第一个选项分母没有将a+b整体括起,运算顺序错误;第二个选项将平方根错误写为乘以0.5,不符合平方根的运算逻辑;第四个选项中2和ac之间省略了乘号,不符合Python语法规范;只有第三个选项完全符合要求。故答案为:C
20. 已知字符串s="zj2026",则表达式s[2]的值为( )
A. "2" B. 2 C. "j" D. j
【答案】A
【解析】
【详解】本题考查Python字符串的索引访问特性。在Python中字符串属于有序的字符序列,支持通过下标索引获取对应位置的字符,且索引从0开始计数。字符串s="zj2026"的索引0对应字符"z",索引1对应字符"j",索引2对应的字符就是"2",同时通过索引取出的元素仍为字符串类型,因此s[2]的值为"2"。故答案为:A
21. 笼子里关着鸡和兔子共46只,数一数脚共120只,问鸡和兔子各多少只?假设鸡的数量为x,兔子的数量为y,则检验表达式为( )
A. x+y=46 or 2*x+4*y=120 B. x+y=46 and 2*x+4*y=120
C. x+y=46 or 2*x+4*y=120 D. x+y=46 and 2*x+4*y=120
【答案】B
【解析】
【详解】本题考查鸡兔同笼问题的逻辑条件表达能力。根据题干条件,鸡和兔子的总数量是46只,对应等式x加y等于46,鸡有2只脚、兔子有4只脚,总脚数是120只,对应等式2乘x加4乘y等于120,两个条件需要同时成立,因此要用逻辑与运算符and连接两个等式,而非表示逻辑或的or。故答案为:B
22. 数学家马达齐在1966年提到一种自重数(也称水仙花数),其各位数字的n次方和等于该数本身。现有一个四位自重数x(非负数),x=1000×a+100×b+10×c+d,满足,则其百位上的数字b的表达式为( )
A. x%100//10 B. x//100//10 C. x//100%10 D. x%100%10
【答案】C
【解析】
【详解】本题考查Python中整数运算与数位提取的知识点。第一个选项x%100//10是先取x除以100的余数得到后两位,再整除10得到十位数字c,不符合要求。第二个选项x//100//10是先将x整除100得到前两位组成的数,再整除10得到千位数字a,不符合要求。第三个选项x//100%10是先将x整除100得到前两位组成的数,再对10取余,得到的就是百位数字b,符合要求。第四个选项x%100%10是先取x除以100的余数得到后两位,再对10取余得到个位数字d,不符合要求。故答案为:C
23. 对实数f四舍五入保留2位小数的Python的表达式是( )
A. int(f*100)/100 B. int(f*100+0.5)/100
C. int(f*100)//100 D. int(f*100+0.5)//100
【答案】B
【解析】
【详解】本题考查Python数值运算与四舍五入保留小数的实现逻辑。要实现对实数f四舍五入保留2位小数,首先需要将f放大100倍,此时小数点后第一位就是原本的百分位,第二位就是原本的千分位,加上0.5后,若千分位数值大于等于5,累加后会让整数部分进位,再通过int()函数取整就能得到四舍五入后的整数值,最后除以100即可得到保留2位小数的结果。选项1的int(f*100)/100直接截断了千分位及之后的数值,没有实现四舍五入;选项3的int(f*100)//100是先取整再做整数除法,最终结果最多只能得到整数,完全不符合保留2位小数的要求;选项4的int(f*100+0.5)//100同样是做整数除法,得到的结果也只能是整数,无法得到带2位小数的结果。故答案为:B
24. 已知s="物化生政史地技",则s[1:3]的值为( )
A. "物化生" B. "化生政" C. "化生" D. "物化"
【答案】C
【解析】
【详解】本题考查Python字符串的切片操作知识点。在Python的字符串切片语法s[start:end]中,切片结果包含下标为start的字符,不包含下标为end的字符,同时Python的字符串下标从0开始计数。本题中字符串s的下标0对应字符"物",下标1对应字符"化",下标2对应字符"生",s[1:3]会提取下标1和下标2的字符,得到结果"化生"。故答案为:C。
25. 已知字符串aa="China",则print(aa[1]+aa[-1])的结果为( )
A. "hC" B. "ha" C. "Ch" D. "ah"
【答案】B
【解析】
【详解】本题考查Python字符串的索引操作。在Python中,字符串的正向索引从0开始计数,字符串aa="China"的各个字符对应索引为:索引0对应字符"C",索引1对应字符"h";负向索引从字符串末尾开始往前计数,-1代表字符串的最后一个字符,此处aa[-1]对应字符"a"。将aa[1]和aa[-1]的结果拼接后得到"ha",对应第二个选项。故答案为:B。
26. 已知lst=[10,20,30,40,50],则lst[::-2]的结果为( )
A. [50,30,10] B. [50,30]
C. [50,40,30,20,10] D. [50,40,30,20]
【答案】A
【解析】
【详解】本题考查Python列表的切片操作。Python中列表切片的语法为[起始位置:结束位置:步长],当步长为负数时表示从右往左反向取元素,本题中切片表达式lst[::-2]没有指定起始和结束位置,默认从列表最后一个元素开始,以步长为2反向遍历整个列表,依次取到的元素为50、30、10。故答案为:A。
27. 某超市用13位数字标识商品信息,其中8~12位是表示商品名的代码,用字符串变量s存储商品的信息码(例如:s="9787100109796",商品名代码是"10979"),下列Python表达式中能取出商品名代码的是( )
A. s[-6:-1] B. s[7:11] C. s[8:12] D. s[7:-2]
【答案】A
【解析】
【详解】本题主要考查字符串切片操作。切片操作基本表达式:object[start_index:end_index:step],step:正负数均可,其绝对值大小决定了切取数据时的“步长”,而正负号决定了“切取方向”,正表示“从左往右”取值,负表示“从右往左”取值。start_index:表示起始索引(包含该索引对应值),该参数省略时,表示从对象“端点”开始取值。end_index:表示终止索引(不包含该索引对应值),该参数省略时,表示一直取到数据“端点”。13位数字标识商品信息中,其中8~12位是表示商品名的代码,由于元素下标从0开始,所以截取应该是7-11位,表示为s[7:12]或者为s[-6:-1],故本题选A选项。
28. 已知list=["World"," tourism","Ninghai","open","tour"],则list[2][2]的返回值为( )
A. "o" B. "u" C. "i" D. "n"
【答案】D
【解析】
【详解】本题考查的是列表中元素的编号。元素编号从左到右编号由0依次增大,故list[2][2]是指的"Ninghai"中的n,故选项D正确。
29. 已知字典score={"语文":108,"数学":115,"英语":102,"等级":"A"},若要修改语文成绩为110,则下列哪个选项正确( )
A. score["语文"]=110 B. score[语文]=110
C. score("语文")=110 D. score["语文"]="110"
【答案】A
【解析】
【详解】本题考查Python字典的元素修改操作。在Python中,字典通过键来访问和修改对应的值,键如果是字符串类型必须用引号包裹,同时赋值的数据类型需要和原成绩的整数类型匹配。第一个选项的写法符合规则,通过字符串键"语文"将对应的值修改为整数110;第二个选项的键语文没有加引号,会被识别为未定义的变量,直接运行会报错;第三个选项错误使用小括号来访问字典元素,字典的元素访问操作使用方括号而非小括号,语法错误;第四个选项赋值的是字符串类型的"110",和原成绩的整数类型不符,不符合修改成绩为数值110的需求。故答案为:A。
30. 某算法的部分流程图如图所示,执行该流程后,变量c的值为( )
A. 2 B. 3 C. 4 D. 5
【答案】B
【解析】
【详解】本题考查流程图的执行逻辑与循环迭代运算能力。初始变量值为m=15,n=4,c=0,循环判断条件为m>n,满足条件时先执行c=c+1,再执行m=m-n,之后回到判断处重新校验:第一次判断15>4成立,c变为1,m更新为15-4=11;第二次判断11>4成立,c变为2,m更新为11-4=7;第三次判断7>4成立,c变为3,m更新为7-4=3;第四次判断3>4不成立,退出循环,最终c的值为3。故答案为:B。
31. 某Python代码如下,执行后变量ans的值是( )
age=6
b2=3** 2
age+=b2
ans=age % b2
A. 15 B. 10 C. 6 D. 0
【答案】C
【解析】
【详解】本题考查Python基本算术运算与赋值语句的执行逻辑。第一步,执行age=6,将变量age赋值为6;第二步,执行b2=3**2,3的平方运算结果为9,变量b2赋值为9;第三步,执行age+=b2,等价于age = age + b2,计算得6+9=15,此时age的值更新为15;第四步,执行ans=age % b2,%是取余运算符,计算15除以9的余数,结果为6,因此ans的值为6。故答案为:C。
32. 有如下Python程序段:
info=[3,7,4,9,11,23,6]
x=info[1]
y=info[6]
z=info[3]
s=x+y+z
print(s)
运行程序后,输出的值正确的是( )
A. 13 B. 22 C. 2 D. 3
【答案】B
【解析】
【详解】本题考查Python程序。程序首先定义了列表 info=[3,7,4,9,11,23,6],其中各元素的索引从0到6依次为 info[0]=3、info[1]=7、info[2]=4、info[3]=9、info[4]=11、info[5]=23、info[6]=6,然后程序将 x=info[1]=7、y=info[6]=6、z=info[3]=9,接着计算 s=x+y+z=7+6+9=22,最后用 print(s) 输出结果,因此运行程序后输出的值是22。故答案为:B。
33. 有如下程序段:
x=input ("x")
y= input ("y")
print (x+y)
如果两次输入分别为3和7,则显示的结果是( )
A. 3+7 B. 37 C. 10 D. x+y
【答案】B
【解析】
【详解】本题考查Python中input函数的返回值类型与字符串运算规则。在Python中,input函数默认接收的用户输入返回值是字符串类型,本题中输入3和7后,变量x的值为字符串"3",变量y的值为字符串"7",执行x+y操作时,会触发字符串的拼接运算,而非数值的加法运算,最终得到的结果是拼接后的字符串"37"。故答案为:B
34. 下列选项中,与下列语句功能相同的是( )
if x<0:
y= -1
else:
y=1
A.if x<0:
y=-1
y=1
B.y=1
if x<0:
y= -1
C.if x>0:
y=1
else:
y=-1
D.if x<0:
y= -1
if x>0:
y=1
A. A B. B C. C D. D
【答案】B
【解析】
【详解】本题考查Python分支语句的逻辑等价性分析。原代码的功能是当x小于0时将y赋值为-1,否则(x大于等于0时)将y赋值为1。对各选项逐一分析:选项A中无论x是否小于0,执行完if分支后都会强制将y赋值为1,最终y恒为1,和原逻辑不符。选项B先将y初始赋值为1,之后判断如果x小于0就把y修改为-1,x大于等于0时y保持初始的1,完全和原代码功能一致。选项C的逻辑是x大于0时y为1,否则y为-1,当x等于0时y会被赋值为-1,和原逻辑不符。选项D没有处理x等于0的情况,此时y没有被定义,和原逻辑不符。故答案为:B。
35. 有如下Python程序段:
a=int(input("输入a:"))
if a<=10:
y=a
else:
y=-a
print(y)
若要测试所有分支结构的程序代码是否正确,下列测试数据中最恰当的是( )
A. 9,10 B. 10,11 C. 11,12 D. -10,10
【答案】B
【解析】
【详解】本题考查分支语句。测试所有的分支代码是否正确,选择的测试数据应该能够体现各路分支的情况,本题程序的条件是a>10和a<=10。满足上述分析的只有B选项。
36. 世界卫生组织把老龄化的社会进一步细分为“老龄化社会”,“老龄社会”,“超老龄社会”,分别是65岁以上人口占比达到7%,14%和20%。现已知某国65岁以上人口占比t(t≥0.07),判断某老龄社会的老龄化程度rank,下列Python程序段符合要求的是( )
A.
rank="老龄社会"
if t<0.14:
rank="老龄化社会"
if t >=0.20:
rank="超老龄社会"
B.
rank="老龄社会"
if t<0.14:
rank="老龄化社会"
else:
rank="超老龄社会"
C.
if t <0.14:
rank="老龄化社会"
if t <0.20:
rank="老龄社会"
else:
rank="超老龄社会"
D.
if t>=0.07:
rank="老龄化社会"
elif t>=0.14:
rank="老龄社会"
elif t>=0.20:
rank="超老龄社会"
A. A B. B C. C D. D
【答案】A
【解析】
【详解】本题考查Python分支结构的逻辑判断应用。首先明确分类规则:t大于等于0.07且小于0.14时为老龄化社会,t大于等于0.14且小于0.20时为老龄社会,t大于等于0.20时为超老龄社会。选项A,先默认rank为老龄社会,当t小于0.14时将rank修改为老龄化社会,当t大于等于0.20时将rank修改为超老龄社会,覆盖了所有区间的正确结果。选项B中,当t大于等于0.14且小于0.20时,会错误将rank赋值为超老龄社会,不符合规则。选项C中,当t小于0.14时,第一个if将rank设为老龄化社会后,第二个判断t小于0.20的if条件同样成立,会把rank错误覆盖为老龄社会,结果错误。选项D中,由于t本身大于等于0.07,第一个if的条件永远成立,后续的elif分支永远不会执行,所有情况都会被判定为老龄化社会,不符合要求。故答案为:A
37. 有如下Python程序段:
x=0
for i in [2,3,7,4]:
x=x+i
print(x)
该程序段执行后,变量x的值是( )
A. 6 B. 16 C. 0 D. 2374
【答案】B
【解析】
【详解】本题考查Python for循环的遍历累加运算。程序初始将变量x赋值为0,随后for循环依次遍历列表[2,3,7,4]中的每个元素,每次循环都将当前元素的值加到x上,累加过程为x=0+2=2,接着x=2+3=5,之后x=5+7=12,最后x=12+4=16,循环结束后输出的x值为16。故答案为:B
38. 有如下Python程序段:
x=0
for i in range(1,9,2):
x=x+i
print(x)
该程序段执行后,变量x的值是( )
A. 9 B. 16 C. 25 D. 36
【答案】B
【解析】
【详解】本题考查的是循环语句。for语句中的循环变量值在[1,8]的范围内按照“步长”增加,直至循环结束。本题是通过程序循环体中的“x=x+i”语句,将i的值相继累加到变量x上,下表罗列了题中各变量在语句执行过程中的变化:
循环变量i的值
变量x的值
1
1
3
4
5
9
7
16
故最后得到x的值为16。故选B。
39. 运行下列代码,输出的结果是( )
c=["red","green","blue"]
for x in c:
print(x)
A.
0
1
2
B.
0 1 2
C.
red
Green
blue
D.
red green blue
A. A B. B C. C D. D
【答案】C
【解析】
【详解】本题考查Python列表的for循环遍历操作。首先代码中定义了列表c,包含三个字符串元素"red"、"green"、"blue",随后的for循环会依次取出列表c中的每一个元素赋值给变量x,每次循环执行print(x)语句,print默认每次输出后换行,因此会逐行输出red、green、blue,和选项C的内容一致。选项A和B输出的是列表下标,不符合代码逻辑,选项D是将三个元素在同一行用空格分隔输出,也不符合逐行打印的执行结果。故答案为:C。
40. 运行下列Python代码后,变量k和s的值分别是( )
k=1
s=0
while k <= 3:
s+=k
k+=1
A. 3 3 B. 6 3 C. 4 6 D. 10 4
【答案】C
【解析】
【详解】本题考查python程序设计。当循环变量k=1~3时,执行循环体中的两个语句,即将1,2,3累加到s中,当i=4时,循环结束,所以变量k和s的值分别是4和6,故选C。
41. 有如下Python代码段:
x=[9,8,6]
min=10
for i in range(0,len(x)):
if x[i]< min:
min=x[i]
print(min)
运行该程序段后,输出结果为( )
A. 9 B. 7 C. 10 D. 6
【答案】D
【解析】
【详解】本题考查Python列表遍历与最小值求解的基础逻辑。首先初始化列表x为[9,8,6],变量min初始赋值为10。随后通过for循环遍历列表的所有下标,依次取出列表元素和当前min值比较:第一次取元素9,9小于10,将min更新为9;第二次取元素8,8小于9,将min更新为8;第三次取元素6,6小于8,将min更新为6。循环结束后输出min的值,最终结果为6。故答案为:D。
42. 一个数加上6,所得和乘6,减去6,其结果等于42,求这个数?Python编写程序如下,请完善代码。
num=42
(一)
(二)
(三)
print(num)
则(一)(二)(三)处应填入的代码为( )
①num+=6 ②num-=6 ③num*=6 ④num/=6
A. ①③② B. ②③① C. ①④② D. ②①④
【答案】C
【解析】
【详解】本题考查Python赋值运算符的使用以及逆推法求解数值问题的能力。题目中原运算的顺序是原数先加6,得到的和乘6,再减去6最终得到42,现在已知最终结果是42,要反向推导得到最初的数,需要把原运算的步骤逆序执行,同时将对应运算替换为逆运算:原运算最后一步是减去6得到42,逆运算第一步就需要给42加上6,对应代码num+=6也就是①;原运算的第二步是乘6,逆运算第二步就需要将当前的数除以6,对应代码num/=6也就是④;原运算的第一步是加6,逆运算第三步就需要将当前的数减去6,对应代码num-=6也就是②。所以三处的代码顺序是①④②。故答案为:C。
43. 利用Python实现y=f(x)函数。要求如下:键盘输入一个实数x,执行程序后,输出其对应的y值。y=f(x)的关系如下所示:
请在划线处填入合适的代码。
x= input("请输入x的值:“)
x= (一)
if x<0:
y=-2*x
(二)
y= (三)
else:
y=(4*x+8)/(x-5)
print("y的值为:",y)
则(一)(二)(三)处应填入的代码为( )
①int(x) ②float(x) ③if x<=10 ④elif x<=10 ⑤x**3/2-5*x ⑥x**(3/2)-5*x
A. ①③⑤ B. ②④⑥ C. ②④⑤ D. ①④⑥
【答案】B
【解析】
【详解】本题考查Python分支结构与数值运算的基础语法。首先分析(一):题目要求输入的x是实数,input函数返回的是字符串类型,需要转换为浮点型才能支持小数运算,int(x)只能处理整数,因此此处应填float(x),对应序号②。接着分析(二):分段函数的第二个区间是0≤x≤10,在x<0的判断分支之后,需要用elif来衔接多分支条件,不能用普通的if,否则会和后续的else分支逻辑冲突,因此此处应填elif x<=10,对应序号④。最后分析(三):该分段的表达式是x的3次方开根号再减去5x,等价于x的3/2次方减5x,x3/2是先计算x的3次方再除以2,不符合数学要求,因此此处应填x(3/2)-5*x,对应序号⑥。三个位置依次对应②④⑥。故答案为:B。
44. 编写程序,实现如下功能:输入某人的体重(单位:kg)和身高(单位:m),计算体重指数BMI指数(BMI指数=体重÷身高的平方),如果BMI<18.5,则输出“体重过轻”;如果18.5≤BMI≤25,则输出”体重正常“;如果BMI>25,则输出”体重过重”。
实现上述功能的Python程序如下,请完善程序:
w= int(input("请输入体重(kg):"))
h= float(input("请输入身高(m):"))
(一)
if bmi<18.5:
x="体重过轻"
(二)
x="体重正常"
else:
x="体重过重"
(三)
则(一)(二)(三)处应填入的代码为( )
①bmi=w/h*h ②bmi=w/h**2 ③elif bmi<25: ④elif bmi<=25: ⑤print(x)
A. ①③⑤ B. ①④⑤ C. ②④⑤ D. ②③⑤
【答案】C
【解析】
【详解】本题考查Python分支结构与BMI计算逻辑的实现。首先分析(一)处,BMI的计算公式是体重除以身高的平方,代码中w/h*h等价于w,不符合计算要求,而w/h**2可以正确实现身高平方后做除法的逻辑,因此(一)选②。接着分析(二)处,前面的if已经判断了BMI小于18.5的情况,剩余需要判断的区间是18.5≤BMI≤25,这里需要用elif分支,判断条件设置为bmi<=25就可以覆盖该区间,若使用bmi<25则会漏掉BMI等于25的边界情况,因此(二)选④。最后分析(三)处,前面的分支已经给变量x赋值了对应的体重状态,最后需要输出x的内容,因此填入print(x),对应⑤。三处依次是②④⑤。故答案为:C。
45. 某Python代码如下:
import random
list1=[0]*6 #初始化列表list1,放入6个元素,均为0
i=0
while i<6:
if i%2==0:
listl[i]= random. randint (0,10) # randint(a,b),产生[a,b]之间的整数
else:
list1[i]= int(random. randint(1,5))*2+1
i+=1
print(list1)
执行后程序后,列表list1[0]~list1[5]各元素值可能的是( )
A. [0,10,2,9,8,3] B. [8,5,4,1,10,3]
C. [4,11,3,5,9,6] D. [6,3,1,11,7,3]
【答案】B
【解析】
【详解】本题考查Python列表操作与random随机数生成的规则应用。首先梳理代码逻辑:循环遍历列表下标0到5,当下标i为偶数(即list1[0]、list1[2]、list1[4])时,元素取值范围是0到10的任意整数;当下标i为奇数(即list1[1]、list1[3]、list1[5])时,执行random.randint(1,5)得到1到5的整数,乘2加1后结果是3、5、7、9,也就是奇数下标的元素只能是3到9之间的奇数。接下来逐一校验选项:第一个选项中list1[1]是10,属于偶数下标位置的元素却出现在奇数下标,不符合规则;第三个选项中list1[1]是11、list1[5]是6,11超出奇数下标的取值范围,6是偶数不符合奇数下标的要求;第四个选项中list1[3]是11,超出奇数下标的取值范围;只有第二个选项的所有元素都符合对应下标的取值规则。故答案为:B
二、作图题(共10分)
第1页/共1页
学科网(北京)股份有限公司
$
浙江绍兴鲁迅中学2025-2026学年高一上期末
信息技术试题
考生须知:
1.本卷共2大题,第一大题选择题占90分,第二大题作图题占10分,满分100分,时间60分钟
2.答题前,请务必将自己的姓名、准考证号用黑色字迹的签字笔或钢笔分别填写在答题纸规定的位置上。
3.答题时,请按照答题纸上“注意事项”的要求,在答题纸相应的位置上规范作答,在本试题卷上的作答一律无效。
一、选择题(共45题,每题2分,共90分,每题只有1个正确选项)
1. 下列不能作为Python变量名的是( )
A. 123abc B. abc123 C. a_1 D. tea
2. 下列赋值语句,正确的是( )
A. 5=a B. a+b=x C. a=5+3 D. a+b=x+y
3. 下列Python 表达式中,运行结果为“61”的是( )
A. 6+1 B. 61//10*10 C. "6"+"1" D. "61"in"20220610"
4. 下列Python表达式中,不能表示“x属于区间[a, b)”的是( )
A. Not (x<a or x>=b) B. x>=a and x<b
C. Not (x<=a and x>b) D. a<=x<b
5. Python 表达式("3"+"2")*2的结果为( )
A. 10 B. "3322" C. "3232" D. 语法错误,程序报错
6. Python表达式abs(-4.5)的值为( )
A. -4 B. 4.5 C. -5 D. 5
7. Python表达式-9//2的值为( )
A. -4 B. -5 C. 5 D. 4
8. Python表达式int(-4.5)的值为( )
A. -4 B. -5 C. 5 D. 4
9. Python表达式3*(2+12%3)**3/5的值是( )
A. 129.6 B. 4 C. 43.2 D. 4.8
10. 下列 Python表达式的值为整数6的是( )
A. 13//2 B. 18%3 C. 24/4 D. 2**3
11. 若x=3,则not(x>=5 and x<9)的结果是( )
A. True B. true C. False D. false
12. 下面哪个选项不能表示a能被b整除( )
A. a/b==int(a/b) B. a%b==0 C. a-a//b*b==0 D. a//b==0
13. 要生成2,4,6,8这个序列,下列表达式能实现的是( )
A. range(2,8) B. range(2,9) C. range(2,8,2) D. range(2,9,2)
14. 下列表达式range(1,5,-1),生成的序列对象为( )
A. 1,2,3,4 B. 1,2,3,4,5 C. 5,4,3,2 D. 空
15. Python表达式len([2,"a",3.7])的值为( )
A. 0 B. 1 C. 2 D. 3
16. 已知a、b 为整型变量,下列表达式的值一定为False的是( )
A. a!=b B. a>b and b>a C. a>=b or b>=a D. a==b
17. 一个班的学生排成一列,从第一位同学开始按1-6循环报数,能正确表示第n位同学所报数字的Python表达式是( )
A. n%6 B. n C. (n-1)%6+1 D. (n+1)%6-1
18. Python中,下列用于交换x,y 两个变量的值的语句,不正确的是( )
A. x=y;y=x B. t=x;x=y;y=t
C. t=x+y;x=t-x;y=t-y D. x,y=y,x
19. 数学表达式写成Python表达式,正确的是( )
A. (2a*c)**0.5/a+b B. (2*a*c)*0.5/(a+b)
C. (2*a*c)**0.5/(a+b) D. (2*ac)**0.5/(a+b)
20. 已知字符串s="zj2026",则表达式s[2]的值为( )
A. "2" B. 2 C. "j" D. j
21. 笼子里关着鸡和兔子共46只,数一数脚共120只,问鸡和兔子各多少只?假设鸡的数量为x,兔子的数量为y,则检验表达式为( )
A. x+y=46 or 2*x+4*y=120 B. x+y=46 and 2*x+4*y=120
C. x+y=46 or 2*x+4*y=120 D. x+y=46 and 2*x+4*y=120
22. 数学家马达齐在1966年提到一种自重数(也称水仙花数),其各位数字的n次方和等于该数本身。现有一个四位自重数x(非负数),x=1000×a+100×b+10×c+d,满足,则其百位上的数字b的表达式为( )
A. x%100//10 B. x//100//10 C. x//100%10 D. x%100%10
23. 对实数f四舍五入保留2位小数的Python的表达式是( )
A. int(f*100)/100 B. int(f*100+0.5)/100
C. int(f*100)//100 D. int(f*100+0.5)//100
24. 已知s="物化生政史地技",则s[1:3]的值为( )
A. "物化生" B. "化生政" C. "化生" D. "物化"
25. 已知字符串aa="China",则print(aa[1]+aa[-1])的结果为( )
A. "hC" B. "ha" C. "Ch" D. "ah"
26. 已知lst=[10,20,30,40,50],则lst[::-2]的结果为( )
A. [50,30,10] B. [50,30]
C. [50,40,30,20,10] D. [50,40,30,20]
27. 某超市用13位数字标识商品信息,其中8~12位是表示商品名的代码,用字符串变量s存储商品的信息码(例如:s="9787100109796",商品名代码是"10979"),下列Python表达式中能取出商品名代码的是( )
A. s[-6:-1] B. s[7:11] C. s[8:12] D. s[7:-2]
28. 已知list=["World"," tourism","Ninghai","open","tour"],则list[2][2]的返回值为( )
A. "o" B. "u" C. "i" D. "n"
29. 已知字典score={"语文":108,"数学":115,"英语":102,"等级":"A"},若要修改语文成绩为110,则下列哪个选项正确( )
A. score["语文"]=110 B. score[语文]=110
C. score("语文")=110 D. score["语文"]="110"
30. 某算法的部分流程图如图所示,执行该流程后,变量c的值为( )
A. 2 B. 3 C. 4 D. 5
31. 某Python代码如下,执行后变量ans的值是( )
age=6
b2=3** 2
age+=b2
ans=age % b2
A. 15 B. 10 C. 6 D. 0
32. 有如下Python程序段:
info=[3,7,4,9,11,23,6]
x=info[1]
y=info[6]
z=info[3]
s=x+y+z
print(s)
运行程序后,输出的值正确的是( )
A. 13 B. 22 C. 2 D. 3
33. 有如下程序段:
x=input ("x")
y= input ("y")
print (x+y)
如果两次输入分别为3和7,则显示的结果是( )
A. 3+7 B. 37 C. 10 D. x+y
34. 下列选项中,与下列语句功能相同的是( )
if x<0:
y= -1
else:
y=1
A.if x<0:
y=-1
y=1
B.y=1
if x<0:
y= -1
C.if x>0:
y=1
else:
y=-1
D.if x<0:
y= -1
if x>0:
y=1
A. A B. B C. C D. D
35. 有如下Python程序段:
a=int(input("输入a:"))
if a<=10:
y=a
else:
y=-a
print(y)
若要测试所有分支结构的程序代码是否正确,下列测试数据中最恰当的是( )
A. 9,10 B. 10,11 C. 11,12 D. -10,10
36. 世界卫生组织把老龄化的社会进一步细分为“老龄化社会”,“老龄社会”,“超老龄社会”,分别是65岁以上人口占比达到7%,14%和20%。现已知某国65岁以上人口占比t(t≥0.07),判断某老龄社会的老龄化程度rank,下列Python程序段符合要求的是( )
A.
rank="老龄社会"
if t<0.14:
rank="老龄化社会"
if t >=0.20:
rank="超老龄社会"
B.
rank="老龄社会"
if t<0.14:
rank="老龄化社会"
else:
rank="超老龄社会"
C.
if t <0.14:
rank="老龄化社会"
if t <0.20:
rank="老龄社会"
else:
rank="超老龄社会"
D.
if t>=0.07:
rank="老龄化社会"
elif t>=0.14:
rank="老龄社会"
elif t>=0.20:
rank="超老龄社会"
A. A B. B C. C D. D
37. 有如下Python程序段:
x=0
for i in [2,3,7,4]:
x=x+i
print(x)
该程序段执行后,变量x的值是( )
A. 6 B. 16 C. 0 D. 2374
38. 有如下Python程序段:
x=0
for i in range(1,9,2):
x=x+i
print(x)
该程序段执行后,变量x的值是( )
A. 9 B. 16 C. 25 D. 36
39. 运行下列代码,输出的结果是( )
c=["red","green","blue"]
for x in c:
print(x)
A.
0
1
2
B.
0 1 2
C.
red
Green
blue
D.
red green blue
A. A B. B C. C D. D
40. 运行下列Python代码后,变量k和s的值分别是( )
k=1
s=0
while k <= 3:
s+=k
k+=1
A. 3 3 B. 6 3 C. 4 6 D. 10 4
41. 有如下Python代码段:
x=[9,8,6]
min=10
for i in range(0,len(x)):
if x[i]< min:
min=x[i]
print(min)
运行该程序段后,输出结果为( )
A. 9 B. 7 C. 10 D. 6
42. 一个数加上6,所得和乘6,减去6,其结果等于42,求这个数?Python编写程序如下,请完善代码。
num=42
(一)
(二)
(三)
print(num)
则(一)(二)(三)处应填入的代码为( )
①num+=6 ②num-=6 ③num*=6 ④num/=6
A. ①③② B. ②③① C. ①④② D. ②①④
43. 利用Python实现y=f(x)函数。要求如下:键盘输入一个实数x,执行程序后,输出其对应的y值。y=f(x)的关系如下所示:
请在划线处填入合适的代码。
x= input("请输入x的值:“)
x= (一)
if x<0:
y=-2*x
(二)
y= (三)
else:
y=(4*x+8)/(x-5)
print("y的值为:",y)
则(一)(二)(三)处应填入的代码为( )
①int(x) ②float(x) ③if x<=10 ④elif x<=10 ⑤x**3/2-5*x ⑥x**(3/2)-5*x
A. ①③⑤ B. ②④⑥ C. ②④⑤ D. ①④⑥
44. 编写程序,实现如下功能:输入某人的体重(单位:kg)和身高(单位:m),计算体重指数BMI指数(BMI指数=体重÷身高的平方),如果BMI<18.5,则输出“体重过轻”;如果18.5≤BMI≤25,则输出”体重正常“;如果BMI>25,则输出”体重过重”。
实现上述功能的Python程序如下,请完善程序:
w= int(input("请输入体重(kg):"))
h= float(input("请输入身高(m):"))
(一)
if bmi<18.5:
x="体重过轻"
(二)
x="体重正常"
else:
x="体重过重"
(三)
则(一)(二)(三)处应填入的代码为( )
①bmi=w/h*h ②bmi=w/h**2 ③elif bmi<25: ④elif bmi<=25: ⑤print(x)
A. ①③⑤ B. ①④⑤ C. ②④⑤ D. ②③⑤
45. 某Python代码如下:
import random
list1=[0]*6 #初始化列表list1,放入6个元素,均为0
i=0
while i<6:
if i%2==0:
listl[i]= random. randint (0,10) # randint(a,b),产生[a,b]之间的整数
else:
list1[i]= int(random. randint(1,5))*2+1
i+=1
print(list1)
执行后程序后,列表list1[0]~list1[5]各元素值可能的是( )
A. [0,10,2,9,8,3] B. [8,5,4,1,10,3]
C. [4,11,3,5,9,6] D. [6,3,1,11,7,3]
二、作图题(共10分)
第1页/共1页
学科网(北京)股份有限公司
$