内容正文:
第二节 程序设计语言基础知识
一、选择题
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页
学科网(北京)股份有限公司
$$