相关试卷
-
1、以下选项中不符合 Python 语言变量命名规则的是( )A、am B、3_1 C、_AI D、str1
-
2、在Python中,x=2.6,表达式 int(x) 的结果是( )A、3 B、2.6 C、2.0 D、2
-
3、在python中,下面代码的输出结果是( )
x=10
y=3
print(x%y)
A、3 B、13 C、30 D、1 -
4、运行下列Python语句,输出结果为( )。
a="hello"
b=2
print(a+b)
A、2 B、hello2 C、hello+2 D、以上选项都不正确 -
5、在python语言中以下哪一项是取余运算的运算符( )A、* B、/ C、// D、%
-
6、决策树是一种通过树形结构进行分类的人工智能预测模型,如根据图1所示“气象特点与游客是否来游乐场的关系”绘制的图2所示的决策树树形结构:

图 1

图 2
通过了解当天的是否有风、天气、温度和湿度这4个节点参数即可预测当天是否有人来游乐场。不同的节点划分顺序可以绘制不同的决策树,为了选出最优的节点划分顺序,需要采用“信息熵”与“信息增益”指标。
信息熵,又称香农熵,被用来度量信息量的大小,信息熵越大表示信息量越大;
信息增益,表示样本经某节点划分后的信息熵变化大小。我们绘制决策树时应当逐次选择信息增益最大的节点作为当前节点。
对于有n个信息的样本D,记第k个信息发生的概率为??,信息熵计算公式为E(D)=− ∑? ?????2(??)
例如游乐场14个样本中“去”(9个)、“不去”(5个),则信息熵

若样本按“是否有风”节点划分,“是”(6个,其中3个去,3个不去)信息熵=

“否”(8个,其中6个去,2个不去)信息熵=
=0.811;经过此节点划分后的信息增益=原始信息熵−按此节点划分后样本信息熵比例和
。(1)、根据上述描述与题图1,则“天气”节点中的“多云”信息熵是 。(2)、实现求首次划分节点的程序如下,请在划线处填入合适的代码:def cal(lst): #计算样本 lst 的信息熵
x,y,z=0,len(lst),0 #x表示该样本信息熵,y表示该样本数量,z表示某信息发生的概率
num={}
for i in lst:
if i not in num:
num[i]+=1
for k in num:
z=num[k]/y #计算该信息发生的概率
x-=z*log(z,2) #根据公式计算信息熵,log(b,a)等价于 logab
return x def check(x,y):
#根据节点x,对样本 y 进行划分,返回示例:{'否': [1, 1, 0, 0, 1, 1, 1, 1], '是': [1, 1, 0, 1, 0, 0]},代码略
dic={'是否有风': ['否', '否', '否', '否', '否', '否', '否', '否', '是', '是', '是', '
是', '是', '是'],
'天气': ['多云', '多云', '晴', '晴', '晴', '雨', '雨', '雨', '多云', '多云', '晴', '晴', '雨', '雨'],
'温度': [28, 27, 29, 22, 21, 21, 20, 24, 18, 22, 26, 24, 18, 21], '湿度': [78, 75, 85, 90, 68, 96, 80, 80, 65, 90, 88, 63, 70, 80],
'是否前往': [1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0]} xm=list(dic.keys())
entropy=cal(dic[xm[-1]]) #调用函数计算样本原始信息熵 entropy #计算各节点信息增益
m=0;p=""
col=xm[:-1] #“是否前往”是结果项,不参与计算
for i in col:
size=len(dic[i]);entropy_1=0
zyb= #调用函数对样本 dic 按照当前节点进行划分
for j in zyb: #根据划分情况逐个求子样本信息熵并按比例累加
entropy_1+=len(zyb[j])/size*cal(zyb[j])
zy=entropy-entropy_1
print(i,"的信息增益:",zy)
if zy>m: #计算最大信息增益与信息增益最大的节点
m=zy
print("信息增益最大的节点:",p)
-
7、某网站对信息进行加密解密,选择页面“index.html”如图1,加密页面“jia.html”如图2,解密页面“jie.html”如图3。在选择页面点击相应按钮,选择加密或解密。

图 1

图 2

图 3
选择加密时,在明文文本框中输入明文,点击“加密”按钮,网页显示密文与对应的密钥。加密规则为打乱明文对应的索引作为密钥,再利用该索引逐个取明文字符连接成密文,例如:明文为“信息技术”,若被打乱的索引为[2,0,1,3],则密文为“技信息术”,密钥为“2,0,1,3”
选择解密时,在密文文本框中输入密文,密钥文本框输入密钥,点击“解密”按钮,网页显示明文。
(1)、该网络应用属于架构。(单选,填字母:A .B/S 架构,B .C/S 架构)(2)、若待解密文本为“自息爱信也我己爱”,密钥为“2, 7, 1, 6, 4, 0, 3, 5”,则解密结果是。(3)、实现该功能的 python 程序如下,请在划线处填入合适的代码:from flask import render_template,request,Flask
import random
app=Flask(name) #创建应用实例@app.route('/') #选择页面路由def index():
return render_template('') #加密功能代码略,以下为解密代码:
@app.route('/jiemi1/',methods=["GET","POST"]) def jiemi1():
wb=request.form["wb"] #变量 wb 存储密文,变量 keyo 存储密钥keyo=request.form["key"] #利用 request 获取网页文本框内容,返回示例:“2,0,1,3”
keyn=list(map(int,keyo.split(","))) #将字符串 keyo 转换为数值列表,示例:[2,0,1,3]
result=""
for i in range(len(keyn)):
for j in range(len(keyn)):
if:
break
result+=wb[j]
return render_template("jie.html",WB=wb,KEY=keyo,RESULT=result) if_name_=="_main_":
-
8、小张同学为了更好地了解冬奥会,从网上收集了历届冬奥会各个项目比赛信息,收集到的部分数据如图1所示:

图 1

图 2
为分析数据,小张编写了如下程序:
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.pyplot import MultipleLocator
plt.rcParams['font.sans-serif']=['SimHei'] #使图形中的中文标签正常显示df=pd.read_csv("dongao.csv")
#删除所有未获得奖牌的记录,并将奖牌列中的"G"修改为"金牌","S"修改为"银牌","B"修改为"铜牌"
jp={'G':'金牌','S':'银牌','B':'铜牌'}
for i in df.index:
if ① :
df=df.drop(i)
else:
df.at[i,'奖牌']=jp[df.at[i,'奖牌']]
#对输入国家每届的奖牌数进行统计,并制作相应图表,如图2所示:nt=input("请输入国家名称:")

df1=df[df['国家']==nt]
df3=pd.DataFrame(df2) #将分组后的数据生成新的二维结构,索引为“届次”,列标题为“奖牌”
x=df3.index
y= ②
plt.title(nt+"历年冬奥会奖牌趋势图") plt. ③ (x,y)
plt.show()
(1)、在划线处填上合适的代码。① ② ③
(2)、为了最后能显示某国历届冬奥会奖牌变化,需在加框处添加的语句为 (多选)A、df2=df1.groupby('奖牌')df2=df1.届次.count()
B、df2=df1.groupby('届次')df2=df2['奖牌'].count()
C、df2=df1.groupby('奖牌')['届次'].count( ) D、df2=df1.groupby('届次').奖牌.count( ) -
9、小墩和小融打乒乓球,利用Micro:bit主板的LED阵列实时显示比分情况(如图1所示,2个方框分别表示小墩和小融比分区,每个亮点表示1分),并在BXYPythonEditor软件的串口中实时输出对局输赢情况(如图2所示)。

操作步骤:小墩得1分,按下Micro:bit主板的按钮A,左侧比分区亮点加1;小融得1分,按下按钮B,右侧比分区亮点加1。一局比赛初始比分为0:0,每一局中先达到10分的选手可以赢得该局。
(1)、实现上述功能的程序代码如下,请在划线处填入合适的代码:from microbit import * def bf(x,y):
#在 led 板上显示比分情况,代码略
m=0:n=0 #m表示小墩得分,n表示小融得分
while True:
if button_a.is_pressed(): #若按钮A被按下,则小墩得1分
m+=1
elif button_b.is_pressed(): #若按钮B被按下,则小融得1分
n+=1
if:
if m>n:
print("第", i, "局:小墩赢,比分:", m, ":" ,n)
else:
print("第", i, "局:小融赢,比分:", m, ":", n)
i+=1; m, n=0,0
bf(m,n)
sleep(200) #设置程序运行间隔为200毫秒
(2)、根据上述程序,下列比分情况不可能出现的是 。A、
B、
C、
D、
-
10、虚线框处可以合并为一个条件表达式,下列表达式中符合该条件的是( )
A、i//3==0 or i//5!=0 B、i%3==0 or i%5!=0 C、i//3==0 and i//5!=0 D、i%3==0 and i%5!=0 -
11、下列说法正确的是( )
A、此算法中包含2个分支结构 B、循环结束时变量i的值为30 C、判断语句“i≤30”将被执行30次 D、执行该流程图后,输出的值为2 -
12、2022年的北京冬奥会,我国取得了历史最好成绩,人工智能技术也以科技手段助运动员们一臂之力。研究团队利用基于深度学习原理的人工智能技术,建立神经网络模型,实现对动作视频中人体关节点的计算机自动识别,进而建立起适用于竞技体育和一般生物力学研究的计算机系统——无反光点人体运动自动捕捉人工智能系统。目前该系统已应用在国家速度滑冰和越野滑雪项目的训练中,获得超过8000人次的赛时动作技术数据,使机器深度学习越发“得心应手”,对于滑冰与滑雪运动员的动作捕捉与技术分析,既能精准到具体细节,又能快速反馈分析结果。(1)、根据以上描述,下列说法不正确的是( )A、随着获取的动作数据逐渐增加,该技术对于数据的反馈会更有效 B、该技术主要体现动作与结果的关系,说明大数据更注重事物之间的相关性 C、该技术捕捉到的每一个数据都来自于真实数据,体现了大数据价值密度高的特点 D、能根据动作自动捕捉进行分析,并快速反馈分析结果,体现了大数据速度快的特点(2)、根据以上描述,人工智能技术助力运动员主要基于以下哪种方法( )A、符号主义 B、联结主义 C、行为主义 D、建构主义
-
13、下列对“无人超市”信息系统的功能描述,不正确的是( )
A、录制用户付款视频和离开时的影像属于信息系统的收集功能 B、识别到注册用户立刻开门属于信息系统的传输功能 C、使用POS机自助付款属于信息系统的存储功能 D、打印小票、出门二维码属于信息系统的输出功能 -
14、下列有关“无人超市”的说法,正确的是( )
A、系统通过入口处刷脸获得的特征值属于个人一般信息 B、零购物码和出门二维码使用后失效,体现了信息的时效性 C、系统自动对用户数据进行加密是为了提高数据的完整性 D、存储在系统数据库中的海量用户信息属于大数据 -
15、Python综合应用。小明运用Python完成了以下功能:
1)随机产生100个4位正整数,存放在列表list1中。
2)将列表list1中的数据除去千位和个位(百位若是0,则将百位设置为1)后存放在列表list2中。
3)将列表list2中的数据除去所有的非素数存放在列表list3中。
4)将列表list3中的数据删除所有重复的数据后存放在列表list4中。
5)将列表list4中的数据排序(从小到大)存放在列表list5中。
6)在列表list5中查数并显示其在列表中的位置。实现上述功能的Python程序如下,请在划线处填入合适的代码:
import random
list1=[] list2=[] list3=[] list4=[] list5=[]
#随机产生100个4位正整数
for i in range(100):
a=
list1.append(a)
print(list1)
#除去千位和个位(百位是0,则将百位设置为1)
for i in list1:
a=i//10%100
if a<10:
else:
b=a
list2.append(b)
print(list2)
#除去所有的非素数
def prime(n):
p=True
for i in range(2,n):
if n%i==0:
break
return p
for i in list2:
if prime(i):
list3.append(i)
print(list3)
#删除所有重复的数据
for i in range(len(list3)-1):
t=list3[i]
if :
list4.append(t)
print(list4)
#从小到大排序
for j in range(len(list4)-1):
for k in range(len(list4)-1,j,-1):
if :
t = list4[k]
list4[k] = list4[k-1]
list4[k-1] = t
list5=list4
print(list5)
#查数 k=int(input("请输入待查找的数值:"))
for i in range(len(list5)):
if k==list5[i]:
print(str(k)+":位于列表中第"+ +"个位置!")
break
else:
print("查无此数!")
-
16、小明从网站上收集了2018年主要城市气候情况相关数据,数据集格式如图1所示
图 1为了分析主要城市气候情况数据,小明利用python绘制反映各城市平均气温的垂直柱形图,如图2所示。
图 2(1)、部分程序代码如下所示,补全①②划线处的代码。import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.pyplot import MultipleLocator #MultipleLocator 类用于设置刻度间隔
plt.rcParams["font.sans-serif"]=["simHei"]
df=pd.read_csv("qihou.csv",encoding="gbk") #读取'qihou.csv'文件中的数据,创建DataFrame对象 df #显示年平均气温最高的城市
df_sort=df.sort_values("年平均气温(℃)", ascending=False) print(df_sort.head(10)) #下划线处
df1=df_sort.head(10) #下划线处
plt.figure(figsize=(10,5))
x=df1["地市"]
y=df1["年平均气温(℃)"]
#绘制柱形图 plt.title(“年平均气温最高的城市的10个城市”)
plt.xlabel("地市")
plt.ylabel("年平均气温(℃)")
#显示图例
plt.show()
(2)、若要制作平均气温最低的10个城市的柱形图,则程序下划线处的代码应该改为 。(3)、若要删除 df中的“City”列数据,则代码应为:。 -
17、某数的平方与它的逆序数的平方互为逆序数,则该数被称为奇妙平方数。例如12的平方为144,21的平方为441,12与21互逆,144与441互逆,12和21都称为奇妙平方数。小明编写了一个找出200以内的所有奇妙平方数的Python程序,请在划线处填上合适的代码来完成此功能。
def compare(x, y):
s1=str(x)
s2=str(y)
k=len(str(s1))
for i in range(k):
if s1[i]!=:
return False
return True
sum=0
for i in range(200):
a=i
b=0
t=a
while t>0:
b=
t=t//10
t1=a*a
t2=b*b
if a!=b and len(str(t1))==len(str(t2)):
if :
print(a)
sum=sum+1
print("共有"+str(sum)+"个")
-
18、有如下python程序段:
列表a的初始值略…
for i in range(6):
if (i+1)%2!=0:
if a[i]%10 >5:
a[i]=a[i]//10
else:
a[i]=a[i]%10
else:
a[i]=a[i-1]+1
程序运行后a[0]到a[6]的值分别是2,3,4,5,0,1,则a[0]到a[6]各元素的初始值可能是( )
A、26,1,4,2,8,3 B、12,1,14,2,11,3 C、15,1,2,3,4,5 D、29,1,40,2,3,30 -
19、提取字符串中的数字并存放到列表中,程序中划线处的代码为( )
s="12, 345, 67"
a=[ ]
t=0
n=0
for i in range(len(s)):
if s[i]==",":
t=int(s[n:i])
a.append(t)
①
if i==len(s)-1:
t=int( ② )
a.append(t)
print(a)
A、①n=i ②s[n:i+1] B、①n=i+1 ②s[n:i] C、①n=i+1 ②s[n:i+1] D、①n=i ②s[n:i] -
20、xscj1.csv文件中数据包含“xm”,“xh”,“yw”,“sx”等字段,有若干个数据行,下列程序段执行后,对象 df_data中的数据将( )
import pandas as pd
df_data=pd.read_csv("xscj1.csv")
df_data.drop("yw",axis=1)
df_data.drop(0)
df_data.sort_values("sx", inplace=True)
A、按“sx”升序排序 B、不再包含“yw”数据列 C、删除了第一行记录 D、增加了一个数据行