内容正文:
3.2 Python语言程序设计同步作业2024—2025学年高中信息技术 浙教版(2019)必修1
一、选择题
1.某学校举行运动会,各运动员的成绩存储在"ydh.xlsx"文件中,部分数据如图所示。编写Python程序,输入年级后统计该年级班级总得分前三的班级。
import pandas as pd
df=pd.read_excel("ydh.xlsx")
gra=input("请输入年级")
print(df1)
方框中代码由下列语句中的部分语句组成:
①df1=df1.groupby("班级", as_index=False).得分.sum()
②df1 = df.groupby("班级", as_index=False).得分.sum()
③df1 = df[df["年级"]==gra]
④df1=df1.sort_values("得分", ascending=True).head(3)
⑤df1 = df1.sort_values("得分", ascending=False).head(3)
要实现上述功能,下列选项正确的是( )
A.①③⑤ B.②③④ C.③①⑤ D.③①④
2.在Python中,以下程序运行后的结果是( )
(1)import turtle as mypen
(2)for x in range(40,0,-10):
(3) mypen.circle(x)
(4) mypen.done()
A. B. C. D.
3.元旦活动,为了提高全班同学的参与感,班长决定在节目表演间隙加入游戏环节,参与游戏的同学名单由随机点名小程序随机生成,如图,是班长设计的随机点名小程序的算法。结合材料内容,完成小题。
names=存储全班学生的名字
f='yes'
while(f≠'no'): #当输入'no'时,点名结束
n=统计当前学生总人数
i=随机生成一个学生序号
print(显示:序号为i的学生名字)
names. remove(将被点名的学生从names中移除)
if n=1: #当前总人数是否为1
print(显示:所有同学均已全部参与!)
break #跳出循环
print(显示:是否继续?输入no退出!)
f=input() #用户输入“yes”或“no”
print(显示:点名结束)
表达式f≠'n'在Python语言中应表示为( )
A.f≠'n' B.f!='n' C.f%='n' D.f/='n'
4.执行程序后,x、y的值分别是( )
x=3
y=x+4
print(x+3,y+2)
A.6 7 B.6 9 C.3 7 D.3 9
5.表达式12 % 9 和 – 4 % 9 的结果分别是( )
A.12 和 -4 B.3 和 -4 C.3 和 4 D.3 和 5
6.已知list1=list("win"),执行语句list1[2:]=list("game")后,列表list1中的内容为( )
A.["g","a","m","e"]
B.["w","g","a","m","e"]
C.["w","i","g","a","m","e"]
D.["w","i","n","g","a","m","e"]
7.下面程序输出结果是( )
for i in range(3):
print(i, end=',')
A.1,2,3 B.0,1,2
C.1 2 3 D.0 1 2
8.Python的表达式s+=1与下列( )表达式效果等同。
A.1+s=s B.s+1=s C.s=s+1 D.s=+1
9.在 Python 语言中,如果要获取一个1~10之间的随机整数,可调用的内部模块是( )
A.随机模块:random B.海龟作图模块:turtle
C.时间模块:time D.数学模块:math
10.运行如下Python程序,结果为( )。
A.1 B.3 C.6 D.18
11.某python代码如下:
from random import random
a=[0]*5
a[0]=int(random()*5+6)
for i in range(1,5):
a[i]=a[i-1]+int(random()*3)*2
print(a)
执行程序后,列表a各元素值不可能的是( )
A.[6, 8, 12, 16, 20]
B.[7, 9, 11, 16, 18]
C.[9, 13, 15, 19, 21]
D.[10, 10, 12, 12, 12]
12.在 Python 语言中,ID="2023180701",则ID的数据类型是( )
A.整型 B.浮点型 C.布尔型 D.字符串
13.在Python中,以下属于算术运算符的是( )
A.!= B.and C.>= D.%
14.有如下Python程序段:
def fac(n):
ans = 1
for i in range(2, n + 1):
ans *= i
return ans
def Com(n, m):
return fac(n) // fac(n - m) // fac(m)
print(Com(5, 3))
执行该程序段后,下列说法不正确的是( )
A.Com()函数运用了递归思想 B.fac()函数一共被调用了3次
C.输出结果是10 D.将Com(5,3)改为Com(5,2),运行结果不变
15.下列运算中,结果为 True的是( )
A.9876%100/10<round(7.69,1) B.int(3.9×2)<len("abc1234")
C.abs(-8)>2* *3 D.7+10//4=9
16.有如下python程序:
import random
a,i,c=[],0,0
while i<5:
b=random.randint(0,9)
if b not in a:
a.append(b)
i+=1
key=int(input("key="))
for j in range(len(a)):
if a[j]%key==0:
c+=1
else:
a[j-c]=a[j]
print(a)
运行该程序,若输入key为2,则输出的a不可能为( )
A.[3,7,5,4,5] B.[3,7,1,5,5]
C.[3,5,0,3,5] D.[9,7,4,7,3]
17.下列 Python 表达式运算的结果为“True”是( )
A.not (4<=5) B.(1>2) and (5>4) C.(2!=1) or (3<2) D.7>=8
18.阅读并理解下面的Python程序代码,程序运行的结果是
1 deftell(name):
2 print(name,“擦黑板、打扫卫生、清理垃圾。”)
3
4 xq=[“星期一”,“星期二”,“星期三”,“星期四”,“星期五”]
5 xm=[“张华”,“王莉”,“李翔”,“陈晨”,“吴烨”]
6 for i in range(5):
7 print(xq[i])
8 tell(xm[i])
A.张华擦黑板、打扫卫生、清理垃圾。
王莉擦黑板、打扫卫生、清理垃圾。
李翔擦黑板、打扫卫生、清理垃圾。
陈晨擦黑板、打扫卫生、清理垃圾。
吴烨擦黑板、打扫卫生、清理垃圾。
B.星期一擦黑板、打扫卫生、清理垃圾。
星期二擦黑板、打扫卫生、清理垃圾。
星期三擦黑板、打扫卫生、清理垃圾。
星期四擦黑板、打扫卫生、清理垃圾。
星期五擦黑板、打扫卫生、清理垃圾。
C.星期一
张华擦黑板、打扫卫生、清理垃圾。
星期二
王莉擦黑板、打扫卫生、清理垃圾。
星期三
李翔擦黑板、打扫卫生、清理垃圾。
星期四
陈晨擦黑板、打扫卫生、清理垃圾。
星期五
吴烨擦黑板、打扫卫生、清理垃圾。
D.张华
星期一擦黑板、打扫卫生、清理垃圾。
王莉
星期二擦黑板、打扫卫生、清理垃圾。
李翔
星期三擦黑板、打扫卫生、清理垃圾。
陈晨
星期四擦黑板、打扫卫生、清理垃圾。
吴烨
星期五擦黑板、打扫卫生、清理垃圾。
A.A B.B C.C D.D
19.下列选项中,python程序文件的是( )
A.内容.doc B.内容.xlsx C.内容.xls D.内容.py
20.有如下Python程序段:
a=[0]*10
for i in range(16):
j=0;a[j]=a[j]+1
while a[j]==3:
a[j]=0
j=j+1
a[j]=a[j]+1
执行该程序后,数组a中各元素之和为( )
A.2 B.3 C.4 D.5
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.C
【详解】本题考查Python程序。要实现统计指定年级班级总得分前三的班级的功能,代码需要进行以下步骤:过滤出指定年级的数据。按班级分组并计算各班级的总得分。对总得分进行排序,取前三名。题目给出的语句中,完成这三个步骤的正确组合如下:③df1=df[df["年级"]==gra]:过滤出指定年级的数据。①df1=df1.groupby("班级",as_index=False).得分.sum():按班级分组并计算各班级的总得分。⑤df1=df1.sort_values("得分",ascending=False).head(3):对总得分进行排序,取前三名。故答案为:C。
2.D
【详解】本题考查的是Python的turtle库相关知识。定义:turtle.circle(radius, extent=None) 作用:根据半径radius绘制extent角度的弧形。故本题应选D。
3.B
【详解】本题主要考查Python表达式。表达式f≠'n'在Python语言中应表示为f!='n',故本题选B选项。
4.B
【详解】本题考查Python程序设计相关内容。分析程序段可知,x+3-->3+3-->6;y+2-->x+4+2-->9。输出结果为:6 9。故本题答案是B选项
5.D
【详解】本题主要考查Python表达式的运算。%取余,如果有负数,用公式:x%y=x-y*(x//y),(x//y)的值要向下取整,12 % 9=3, – 4 % 9 =(-4)-9*(-4//9)=5,故本题选D选项。
6.C
【详解】本题主要考查Python列表的操作。列表的索引从0开始,list1[2:]=list("game")表示将list1索引2及后面所有部分替换为字符串“game”,故执行语句list1[2:]=list("game")后,列表list1中的内容为["w","i","g","a","m","e"],选C选项。
7.B
【详解】本题主要考查Python程序执行。 end=','意思是末尾不换行,添加逗号,变量i的范围是0~2,故本题选B选项。
8.C
【详解】本题主要考查Python赋值表达式。Python的表达式s+=1与s=s+1表达式效果等同,故本题选C选项。
9.A
【详解】本题考查Python模块相关内容。turtle库是Python语言中一个很流行的绘制图像的函数库,它提供了一些简单的绘图工具,可以在标准的应用程序窗口中绘制各种图形。time是Python自带的模块,用于处理时间问题,提供了一系列的操作时间的函数。random函数是Python中一个非常实用的内置模块,它可以方便地生成各种类型的随机数,并且可以用于各种不同的场景。Python中math库提供数学函数,用于执行计算、三角函数、对数等操作。获取一个1~10之间的随机整数,可调用的内部模块是random,故本题答案是A选项。
10.C
【详解】本题主要考查Python循环结构。分析程序可知,该程序求m、n的最大公约数,程序结束后m=6,此时r=0,故本题选C选项。
11.B
【详解】本题主要考查Python随机函数的应用。random( )方法随机生成[0,1)之间的数,int(random( )*3)*2随机生成[0,4]之间的任意整数,分析程序,由语句“ a[i]=a[i-1]+int(random()*3)*2 ”可知列表中相邻两个元素之间的值不大于5,故本题选B选项。
12.D
【详解】本题考查Python数据类型。Python中,字符串用双引号或单引号标识,ID="2023180701",则ID的数据类型是字符串。故选D。
13.D
【详解】本题考查Python运算符。!=、>=是关系运算符,and是逻辑运算符,%是算术运算符。故选D。
14.A
【详解】本题考查Python函数相关内容。A选项,递归是函数直接或间接调用本身,程序中未体现递归思想,说法错误。B选项,Com函数中分别调用fac(n)、fac(n-m)、fac(m),共三次,选项正确。C选项,fac(5)=120,fac(2)=2,fac(3)=6;120//2//6=10,选项正确。D选项,将Com(5,3)改为Com(5,2),运行结果不变,选项正确。故本题答案是A选项。
15.A
【详解】本题考查Python运算符与表达式相关内容。A选项,9876%100/10<round(7.69,1)-->7.6<7.7-->True;B选项,int(3.9×2)<len("abc1234")-->7<7-->False;C选项,abs(-8)>2**3-->8>8-->False;D选项,7+10//4=9表达式中“=”使用错误。故本题答案是A选项。
16.D
【详解】 本题考查Python程序的执行与调试。由if b not in a,可知a保存了0-9不重复的数据。c表示偶数的个数,else表示a[j]是奇数,当前面有1个偶数c=1,a[j-1]=a[j]。当前面有2个偶数c=2,a[j-2]=a[j],即当前奇数往前移动偶数个数个位置。
A选项,[3,7,?,4,5],其中?处的5是后面的5移动上来的,那只能c=2,所以?处是个偶数即可成立,例如[3,7,2,4,5]
B选项,[3,7,1,?,5],其中?处的5是后面的5移动上未的,那只能c=1,所以?处是个偶数即可成立,例如[3,7,1,4,5]
C选项,[?,?,0,3,5],其中?处的3和5是后面的3和5移动上来的,那只能c=3,所以两个?处都是偶数即可成立,例如[2,4,0,3,5]
D选项。[9,?,4,7,3]。其中?处的7是后面7移动上来的,那么c=2,但3也会移动到数字4的位置上。故选D。
17.C
【详解】本题考查Python基础。
表达式:(2!=1) or (3<2)
2!=1 是一个比较表达式,其结果为 True(因为 2 不等于 1)。
在逻辑或(or)操作中,只要有一个操作数为 True,整个表达式的结果就是 True。
因此,(2!=1) or (3<2) 的结果为 True,因为 2!=1 是 True。
故正确答案为:选项C。
18.C
【详解】本题主要考查Python程序的执行。分析程序,一共循环了5次,每次先输出xq[i],再执行自定义函数tell(xm[i]),tell(name)函数输出的内容是:name,“擦黑板、打扫卫生、清理垃圾。”,因此选项C符合,故本题选C选项。
19.D
【详解】本题主要考查Python文件。Python程序文件的后缀是.py,故本题选D选项。
20.C
【详解】本题主要考查Python程序的执行。变量i的范围是0~15,因此外循环一共执行16次,依次带入执行,循环结束后列表a=[1, 2, 1, 0, 0, 0, 0, 0, 0, 0],因此数组a中各元素之和为1+2+1=4,故本题选C选项。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$