2024-2025学年高一上学期华东师大版(2020)必修1 第二节 程序设计语言基础知识

2024-08-13
| 13页
| 63人阅读
| 0人下载

内容正文:

第二节 程序设计语言基础知识 一、选择题 1.下列关于计算机语言的说法中,正确的是(    ) A.高级语言就是Python B.低级语言学习使用都很难,运行效率又低,所以已被高级语言淘汰 C.机器语言程序是计算机可以直接执行的程序 D.一般用高级语言编写的程序称为“源程序”,可以被计算机直接识别和运行 2.定义类如下。 class Show:     def __init__(self,name):         self.name=name     def showInfo(self):         print(self.name) 下面代码能正常执行的是(   ) A. h = Show h.showInfo() B. h = Show() h.showInfo("张三") C. h = Show("张三") h.showInfo() D. h = Show('admin ') showInfo A.A B.B C.C D.D 3.在 Python 中,快速创建GUI应用程序以实现图形用户界面的模块是(    ) A.tkinter B.math C.time D.pygame 4.以下哪个选项是Python中实现循环结构的正确方法(   ) A.使用loop关键字 B.使用while或for关键字 C.使用repeat函数 D.使用iterate方法 5.在Python中,以下选项中可以作为变量名的是(   ) A.1A B.for C.X_2 D.A+B 6.有如下Python程序段: import random a=[] for i in range(6):     a.append(random.randint(0,10)) for i in range(5):     if i%2==1 and a[i]>a[i+1]:         a[i],a[i+1]=a[i+1],a[i]     else:         a[i]-=1 print(a) 运行该程序后,输出结果不可能的是(    ) A.[-1,6,6,4,8,9] B.[8,2,9,0,3,8] C.[5,1,9,0,4,5] D.[1,1,7,5,4,6] 7.以下Python程序段执行后,输出结果为(   ) m=28 if m%3!=0:     print(m,"不能被3整除") else:     print(m,"能被3整除") A.m不能被3整除 B.m能被3整除 C.28能被3整除 D.28不能被3整除 8.下列哪个操作可以实现字符串的大小写转换(     ) A.str.lower() B.str.upper() C.str.capitalize() D.以上均可 9.用高级语言编写的源程序,在计算机上执行可采用(      ) A.编译方式 B.解释方式 C.直接执行 D.汇编方式 10.某加密程序的代码如下: str1 = input("请输入明文:") num = "1358821604" str2 = " " for ch in strl: if "0" <= ch <= "9": str2 += num[int(ch)] elif "a" <= ch <= "z": str2 += chr((ord(ch) - ord("a") + 2) % 26 + ord("a")) else: str2 += ch print(str2) 运行该程序,输入str1的值为“I-520-Python”,则输出结果为(    ) A.G-831-Ravjqp B.G-831-Nwrfml C.I-251-Pwrfml D.I-251-Pavjqp 11.有如下Python程序段,功能为删除非降序序列中的重复数: a=[2,2,2,5,5,5,8] k=i=0 while   (1) ;     if a[i]!=a[i+1]         k+=1          (2)     i+=1 print(a[:k+1]) 该程序执行结果为[2,5,8],划线处可选代码为 ① i< len(a)   ② i< len(a)-1   ③a[k]=a[i+1]   ④a[k]=a[i] 则(1)(2)处代码依次为(    ) A.①③ B.①④ C.②③ D.②④ 12.以下哪个Python代码片段正确实现了一个累加器模式(   ) A.total = 0; for i in range(5): total += i B.total = 1; for i in range(5): total *= i C.total = 0; for i in range(5, 0, -1): total -= i D.total = 1; for i in range(5): total /= i 13.下列Python表达式的值等于2的是(   ) A.2%5 B.2//5 C.(3>4)*2 D.4-3%5**2 14.有如下 Python 程序段: a=[2,2,6,1,8,5,3,6,4,3,6,4,9,5,3] dic={} for i in a: if i not in dic: dic[i]=0 else: dic[i]+=1 执行该程序段后,dic[3]的值为(   ) A.1 B.2 C.3 D.4 15.在Python中,如何计算一个数字的平方(   ) A.num * 2 B.num ** 2 C.num ∧ 2 D.num sqrt 16.有如下Python程序段: a="Python"; q=[0]*6 head,tail=0,0 i=len(a)-1 while i>=0:     if i%3!=0:         q[tail]=a[i]     else:         q[tail]=q[head]         head+=1     tail+=1     i-=1 print(q[head:tail]) 当执行该程序段后,输出的结果是(   ) A.['n', 't', 'y', 'o'] B.['t', 'y'] C.['n', 'o', 't', 'y'] D.['n', 'o', 'n', 't', 'y', 'o'] 二、填空题 17.运行以下Python程序,结果是 。     p=1     while p<=5:        if p /4==int(p/4):           print(p)        p=p+1 18.有如下Python 程序段: k=[29,38,78,17] m=0 for i in range(1, len(k)): if k[i]>k[m]: m=i if m!=0: k[0],k[m]=k[m],k[0] print(k) 该程序段执行后,输出结果为 。 19.Python表达式125%100的运算结果是( ) 20.某 Python 程序如下: n = int (input ()) sum = a = 3 res = 0 i=1 while i <= n:     res = res  + sum     sum = sum * 10 + a     i = i + 1 print (res) 当输入n值为3时,程序输出结果是 。 21.input( )函数的返回值的类型是 。 三、判断题 22.在python中,运行以下程序,输出的结果是*****。( ) for i in range(1,6):     print("*",end="") 23.网络爬虫是种程序或脚本,通过它可以将非结构化数据从网页中抽取出来,并以结构化的方式存储为本地数据文件。( ) 24.已知A和B是两个集合,并且表达式A<B的值为False,那么表达式A>B的值一定为True。( ) 25.Python语言的变量名要区分英文字母的大小写。( ) 26.在使用Python语言编写程序时,注释不会影响程序结果,所以没有必要写。( ) 四、操作题 27.小明通过调查问卷收集了食堂满意度情况数据,保存在“data.csv”文件中,如图a所示。     图a                                       图b 为统计分析每个调查项目不同选项的人数及不满意率,编写Python程序。回答下列问题: (1)统计每一项调查内容的总票数、满意、一般及不满意人数,程序运行结果如图b所示,请在划线处填入合适的代码。 import pandas as pd#导入pandas模块 import matplotlib.pyplot as plt#导入pyplot模块 Plt.rcParams["font.sans-serif"]=["SimHei"]#设置图表显示中文字体 df=pd.read_csv("data.csv",encoding="utf-8")#读取csv文件中的数据 cols=df.columns[1:] poll=len(df) data={"调查项目":[ ],"总票数":[ ],"满意":[ ],"一般":[ ],"不满意":[ ]} for colname in cols: dfc=df.groupby( ,as_index=False)["序号"].count() data["调查项目"].append(colname): data["总票数"].append(poll) for j in dfc.index: name=dfc.at[j,colname] data[name].append( ) df2=pd.Data Frame(data) print(df2) (2)计算每个项目的“不满意率”(=“不满意”/“总票数”*100),并使用柱形图分析每个项目的“不满意率”情况,如图c所示,请在划线处填入合适的代码。 图c df2["不满意率(%)"]= x= y=df2["不满意率(%)"] plt.figure(figsize=(8,4)) plt.title("食堂调查问卷不满意率(%)情况") plt.bar(x,y,label="不满意率(%)") plt.legend() plt.show() 试卷第1页,共3页 试卷第1页,共3页 学科网(北京)股份有限公司 参考答案: 1.C 【详解】本题考查计算机语言相关内容。高级语言就是Python的说法错误,Python是高级语言的一种,A选项错误。低级语言因其是接近底层的编程,没有编译解析等过程,所以执行效率高,响应速度快,但由于学习和编程以及调试难度较高,故编程比较费时费力,项目周期一般较长,B选项错误。使用机器语言编写的程序可以直接被计算机识别并执行,C选项正确。用高级语言编写的程序,不能直接被计算机所识别和执行,必须经过编译程序或解释程序将其翻译成机器语言,D选项错误。故本题答案是C选项。 2.C 【详解】本题考查Python基础。 选项A不会正常执行,原因是 h 被赋值为 Show 类本身,而不是 Show 类的实例。选项B不会正常运行,原因是 showInfo 方法在定义时并没有设计来接受除了 self 之外的任何参数。选项D不会正常运行,原因是没有通过实例调用方法。故正确答案为:选项C。 3.A 【详解】本题考查Python程序设计相关内容。Tkinter是Python的标准GUI库,它提供了创建窗口、按钮、文本框和其他GUI组件的工具。math模块提供了很多数学运算的函数和常量,可以通过导入math模块来使用其中的函数和常量。time库是一个用于处理时间相关操作的标准库。Pygame是一个用于开发视频游戏的Python库,它提供了丰富的功能和工具,使得开发者能够轻松地创建游戏窗口。故本题答案是A选项。 4.B 【详解】本题考查Python循环结构的描述。在Python中,实现循环结构的正确方法是使用while或for关键字。while循环用于在条件为真时重复执行一段代码,而for循环用于遍历序列(如列表、元组、字符串等)中的每个元素。选项A、C和D在Python中都不是用于实现循环的正确方法。故选B。 5.C 【详解】本题考查Python变量相关内容。变量的命名要符合标识符规定,即:只能以字母或下划线开头,不能包含特殊符号,不能是关键字。A选项, 以数字开头,错误;B选项,for为关键字,错误;C选项,符合标识符规定,正确;D选项,含有“+”,错误。故本题答案是C选项。 6.D 【详解】本题考查Python程序设计相关内容。分析程序段,可知:列表索引为奇数同时比后一个元素大时,交换两数;其余情况列表元素值减1。程序执行结果肯定:a[1]<=a[2],a[3]<=a[4]。ABC选项为可能结果,D选项不会出现。故本题答案是D选项。 7.D 【详解】本题考查Python程序设计相关内容。m=28,执行m%3,结果为1,不等于0,输出:28不能被3整除。故选D。 8.D 【详解】本题考查Python字符串。Python提供了多种字符串大小写转换的方法,包括将字符串转为小写(str.lower()), 大写(str.upper()),或者仅首字母大写(str.capitalize())。故答案为:D。 9.AB 【详解】本题考查的是计算机高级语言。高级语言的翻译程序有两种类型:编译程序和解释程序。故本题应选AB。 10.D 【详解】本题主要考查Python程序的执行。分析程序可知,ch依次是从字符串s1中取的字符,如果ch是数字时,则将其作为索引从字符串q中取对应的数字,故520对应的数字是251;如果ch是小写字母,则将其循环后移2位;如果ch是其他字符,则保持不变,故输入s1的值为"I-520-Python",则输出结果为I-251-Pavjqp,故本题选D选项。 11.C 【详解】本题考查Python程序设计相关内容。分析程序段,可知:(1)处为循环条件,结合上下文,i为循环变量且标明元素索引号,由i<=len(a)-1及i+1<=len(a)-1得出,i< len(a)-1,故(1)应填写:i< len(a)-1。若前后两个数相同,则略过该数,将其后面不同数字往前提,覆盖重复数字,故(2)处应填写:a[k]=a[i+1]。故本题答案为C选项。 12.A 【详解】本题考查Python代码。累加器模式是通过循环不断地将新的值加到一个总和变量上。选项A中,首先将total初始化为0,然后通过for循环遍历range(5)生成的0到4的数字序列,每次循环将当前的i值加到total上,实现了累加的功能。选项B是累乘,且初始值为1,但由于从0开始乘会导致结果为0。选项C是递减操作,不符合累加的要求。选项D是除法操作,也不符合累加的概念。故答案为:A。 13.A 【详解】本题考查的是Python表达式。%表示求余,//表示整除,**表示幂乘,*表示乘,2%5=2,2//5=0,(3>4)*2=0,4-3%5**2=1。故选A。 14.B 【详解】本题考查的是Python字典及循环语句。阅读程序可知,依次读取列表a中的值,如果读取的值是第一次出现,则创建以该值为键,值为0的字典,否则以该值为键的值加1。3在列表中出现3次,第一次出现字典中值为0,执行两次加1,故最后值为2。选B。 15.B 【详解】本题考查的是Python算术运算符。在Python中,*表示乘,**表示幂乘。故本题应选B。 16.A 【详解】本题考查程序分析。分析后程序执行过程为: q[0]=a[5]='n',tail=1 q[1]=a[4]='o',tail=2 q[2]=q[0]='n',tail=3,head=1 q[3]=a[2]='t',tail=4 q[4]=a[1]='y',tail=5 q[5]=q[1]='o',tail=6,head=2 循环结束后tail=6。故输出q[head,tail]为:['n', 't', 'y', 'o'],选项A正确。 17.4 【详解】本题考查Python程序设计相关内容。分析程序段,其功能是在p的取值范围内,当p/4==int(p/4)成立时,输出p值。在[1,5]内,只有p=4时,p/4==int(p/4)成立,输出结果为4,故本题答案是:4。 18.[78,38,29,17] 【详解】本题考查Python程序设计相关内容。分析程序段,其功能是先找出列表元素最大值,然后将其与列表首元素交换位置。列表k中,最大值是78,将其与29交换位置,形成新列表[78,38,29,17]。故本题答案是:[78,38,29,17]。 19.25 【详解】本题考查Python运算符与表达式。在Python中,%代表求模运算,因此表达式125%100的运算结果是25。 20.369 【详解】本题考查的是Python循环语句。初始i=1,sum = a = 3,当输入n值为3时。 i<=3成立,res = res+sum=3, sum=sum*10+a=30+3=33,i=i+1=2; i<=3成立,res = res+sum=36, sum=sum*10+a=330+3=333,i=i+1=3; i<=3成立,res = res+sum=369, sum=sum*10+a=3330+3=3333,i=i+1=4; i<=3不成立,故输出res为369。 21.字符串型 【详解】本题考查输入函数相关知识。input()函数是输入函数,用于接受一个标准输入数据,函数返回值是“字符串”类型。故本题答案是:字符串型 22.正确 【详解】本题考查Python基础。 range(1,6)产生1到5,故循环5次,每次输出一个星号,输出5个。故正确。 23.正确 【详解】本题考查网络爬虫。网络爬虫就是一种能够按照一定的规则,自动地抓取万维网信息的程序或者脚本。它能够从网页中提取出所需的非结构化数据,并将其整理成结构化的形式,存储为本地的数据文件,以便后续的分析和处理。故说法正确。 24.错误 【详解】本题考查Python集合数据类型的描述。已知A和B是两个集合,并且表达式A<B的值为False,那么表达式A>B的值不一定为True,也有可能A=B。故表述错误。 25.正确 【详解】本题考查Python。Python语言的变量名是区分英文字母大小写的,这意味着在Python中,变量名var和Var被视为两个不同的变量。故说法正确。 26.错误 【详解】本题主要考查Python注释语句。在Python程序中,注释语句可以增强程序的可读性,写注释非常有必要。题干说法错误。 27. colname dfc.at[j,"序号"]或dfc["序号"][j]或dfc.序号[j] df2["不满意"]/df2["总票数"]*100 或df2["不满意"]/poll*100 或df2.不满意/df2.总票数*100或df2.不满意/poll*100 df2["调查项目"]或df2.调查项目 【详解】本题考查Python程序设计相关内容。阅读题目,分析程序段,可知:①处,df中存放的是csv文件数据,此处调用groupby函数依据colname对数据分组统计,故此处应填写:colname。②处,分析上下文,此处应追加j行“序号”列数据,故此处填写:dfc.at[j,"序号"]或dfc["序号"][j]或dfc.序号[j]。③处,由不满意率计算公式可知,此处应填写:df2["不满意"]/df2["总票数"]*100 或df2["不满意"]/poll*100 或df2.不满意/df2.总票数*100或df2.不满意/poll*100。④处,x轴以调查项目,y轴以不满意率建立柱形图,故此处应填写:df2["调查项目"]或df2.调查项目。 答案第1页,共2页 答案第1页,共2页 学科网(北京)股份有限公司 $$

资源预览图

2024-2025学年高一上学期华东师大版(2020)必修1 第二节 程序设计语言基础知识
1
2024-2025学年高一上学期华东师大版(2020)必修1 第二节 程序设计语言基础知识
2
2024-2025学年高一上学期华东师大版(2020)必修1 第二节 程序设计语言基础知识
3
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。