相关试卷
-
1、小李从网上收集了2021年至今某县各站点天气的部分数据,数据集格式如图1所示。
图1
为了分析各站点的天气情况,小李编写了如下Python程序。
(1)、若要显示最高气温超过35度的各站点信息,请在划线处填上代码。import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_csv("weather.csv")
print()
(2)、小李想做一份分析该县各站点最高气温的垂直柱形图,比较各站点的最高气温情况,添加了如下程序段,请在划线处填上代码。df2=df.groupby("站点").max() #对“站点”进行分组,并计算各组数据的最大值
plt.figure(figsize=(10,5))
plt.bar(,df2.最高气温)
plt.title("2021年至今某县各站点最高气温情况")
plt.xlabel("站点")
plt.ylabel("最高气温")
plt.show()
(3)、小李将2022年3月的天气数据保存在“pjtq202203.xls”文件中,并使用Excel软件对数据进行处理,如图2所示。图2
区域D2:D32的数据是通过公式计算得到,在D2单元格输入公式,并应用自动填充功能完成区域D3:D32的计算,则D2单元格中的公式是。
(4)、现要求找出相邻两天平均温度变化(即当天与上一天“平均温度”差值的绝对值)最大的日期区间。如果有多个符合要求的日期区间,只输出距今最近的。小李为此编写了Python程序,程序运行后,输出结果。实现上述功能的Python程序如下,但加框处代码有错,请改正。df=pd.read_excel("pjtq202203.xls")
max=
①
for i in range(2,len(df)):
if abs(int(df["平均温度"][i])-int(df["平均温度"][i-1]))>
: ②
max=i
print("平均温度变化最大的日期区间是:"+df["日期"][max-1]+"---"+df["日期"][max])
-
2、有如下程序段:
from flask import Flask
app=Flask(__name__)
@app.route("/")
def index():
return "<p>学考加油!</p>"
if __name__=='__main__':
app.run()
运行程序后,以下说法正确的是( )
A、“__name__=='__main__'”没有实际用处 B、“app=Flask(__name__)”的功能是为Web应用程序创建Flask类的对象 C、默认状态在浏览器中输入服务器地址,按回车键后,浏览器中显示“__main__”字样 D、默认状态在浏览器中输入服务器地址,按回车键后,浏览器中显示“<p>学考加油!</p>” -
3、在BXY中编辑有这样一段程序:
from microbit import *
while True:
if button_a.is_pressed():
display.show(Image.HAPPY)
elif button_b.is_pressed():
break
else:
display.show(Image.SAD)
sleep(1000)
在micro:bit硬件支持下,以下说法正确的是 ( )
A、开始运行,不按开发板上的任何按钮,开发板显示“笑脸” B、开始运行,按开发板上的B按钮后,开发板上的LED灯全部关闭 C、开始运行,不按开发板上的任何按钮,开发板进入死循环,无法正常运行 D、开始运行,按开发板上的A按钮后,开发板显示“笑脸”,一秒钟后显示“哭脸” -
4、已知一个有7个节点的单向链表,设有头指针head和尾指针tail,如图所示,下列操作需要遍历多个节点的是( )A、删除该链表中的最后一个节点 B、删除该链表中的第一个节点 C、在该链表第一个节点前插入一个新节点 D、在该链表最后一个节点后插入一个新节点
-
5、有如下Python程序段:
import random
a=[0]*6
for i in range(1,6):
tmp=random.randint(5,24)
if tmp%2==0 or i%2==1:
a[i]=a[i-1]+tmp
print(a)
运行程序后,数组a的值可能的是( )
A、[0, 9, 29, 50, 0, 20] B、[8, 20, 44, 62, 86, 109] C、[0, 8, 14, 21, 39, 0] D、[0, 10, 24, 43, 0, 30] -
6、有如下Python程序段:
import random
s="ABCDEF"
ch=""
for i in range(0,len(s)):
a=int(input)
b=(a+2)%6
ch=ch+chr(ord(s[b])+32)
print(ch)
运行程序后,依次输入3、1、4、5、2、6,输出ch的值可能是( )
A、cadebf B、fdabec C、aabbab D、ecfadb -
7、有如下Python程序段:
a=[5,2,7,10,17,25,42,66]
c=0
for i in range(2,len(a)):
if a[i-1]+a[i-2]==a[i]:
c=c+1
print(c)
运行程序后,输出的内容是( )
A、2 B、3 C、6 D、7 -
8、下列Python表达式中,值为False的是( )A、20//6<20/6 B、"20"<"8" C、len("18%4")<23%5 D、int(2.5)<2.1
-
9、某算法的部分流程图如图所示,执行这部分流程,依次输入3、4、-1,则输出s的值是( )
A、-1 B、0 C、1 D、7 -
10、将一个送餐机器人放入一个餐厅,其事先并不知道餐厅中桌椅的摆放形式。于是,送餐机器人在运动中不断从环境中学习,如墙壁挡路则避让、桌椅空隙过窄难以通过则后退等,经过一段时间的交互,送餐机器人就通过学习获悉了餐厅环境的全貌,从而提升自身智能水平而自如地执行送餐任务。以上实现人工智能的主要方法是( )A、行为主义 B、联结主义 C、神经网络 D、符号主义
-
11、一个时长为10秒,512×400像素,24位真彩色、PAL制式的未经压缩的AVI格式无声视频文件,其存储容量约为( )A、6MB B、80MB C、150MB D、180MB
-
12、使用UltraEdit软件查看字符内码,部分界面如图所示。下列说法正确的是( )
A、字符“J”的内码值是50H B、字符“10”的内码值是3AH C、字符“h”的内码值用二进制表示为1101000B D、根据图示可知,字符串“亚运会@”的存储容量为7bit -
13、下列有关数据和信息的说法,错误的是(A、数据是对客观事物的符号表示,它有多种表现形式 B、信息往往蕴含价值,同一信息对于不同的人而言,价值可能不同 C、银联卡用得久了会失去磁性,这说明信息在重复使用中会产生损耗 D、自然界中的数字、文字、图像、声音等模拟信号,经过采样、量化与编码,能转换成可用计算机处理的数字信号
-
14、某程序功能如下:输入n,生成n*n的方阵,存于列表a,内容为1至9的随机整数。再对以(x0,y0)和(x1, y1)为对角顶点的矩形区域中的数据进行水平翻转,并将变换后的二维数组以矩阵形式输出。再输入小于n的四个数字(如a,b,c,d,四者关系必须满足a<c,b<d),用逗号间隔: 2,1,6,5 则左上角为a[1][2] ,右下角为a[5][6],则运行程序后,运行界面如图所示。(1)、以上图为例,如果输入左上角+右下角的坐标为:2,3,7,5。水平翻转后,则元素a[3][4]的值在新数组保存在元素a[][](填写下标)中。(2)、代码如下并完成填空。
#生成n*n的矩阵
import random
n=int(input(‘输入n,产生n*n的方阵:’ ))
a=[[random.randint(1,9) for i in range(n)] for j in range(n)]
for i in a:
print(i)
print( )
x,y=[],[]
xy=input("请输入左上角+右下角坐标:") #输入左上角坐标+右下角坐标,用逗号分隔数字。如:"2,1,14,13"
xy=xy+","
c,j=0,0
for i in range(len(xy)):
if xy[i]==",":
if :
x.append(int(xy[j:i]))
else:
y.append(int(xy[j:i]))
c=c+1
for i in range(y[0],y[1]+1,1):
for j in range(x[0],(x[0]+x[1])//2+1,1):
a[i][j],a[i][]=a[i][],a[i][j]
for i in range(len(a)):
print(a[i])
-
15、星期天小明来到动物园游玩,园内共有n 个景点,每个景点序号为0,1,2,3……至n-1。现在只知道每个景点有一条路连接下一个景点。小明想寻找能游玩景点个数最多的一种方案并且从其中一个景点出发,最后能够回到出发景点。如果游玩的景点个数一样,则优先考虑景点序号小的。
例如,共有n=5 个景点,每个景点连接的下个景点分别是1,3,4,4,1
景点号
0
1
2
3
4
下一个景点号
1
3
4
4
1
方案一:从0号景点出发,则游玩线路为:0号→1号→3号→4号→1号,由于此方案无法回到出发点,则不考虑;
方案二:从1号景点出发,则游玩线路为:1号→3号→4号→1号,然后回到1号景点。最多可以玩3个景点。
现用Python程序模拟这个问题:
先输入景点总数:n ;则对应的景点为[0,1,2,3,4]
然后随机产生各景点所连接的下一个景点的序号,如:[1,3,4,4,1];
接着产生一个列表,如上表的信息则产生的列表s为:[[0,1],[1,3],[2,4],[3,4],[4,1]],
最后利用链表的方式来分析解决问题。
程序如下:
import random
#产生信息列表s
n=int(input("景点总数 "))
tt=[ ]; s=[ ]; c=0
while c < n :
t=random.randint(0,n-1)
if t !=c :
s.append([ ① ])
c+=1
print(s)
#枚举所有方案,寻找正确方案。
max=0
for head in range(n):
p=head
k=1
while k<=n and s[p][1]!=head:
k+=1
p=s[p][1]
if
:
max = k
maxp = head
print("小明最多能访问 %d 个景点"%(max))
#输出正确线路
p=maxp
while s[p][1]!=maxp:
print(s[p][0],end="→")
p=s[p][1]
print( ② )
(1)、横线处填写合适代码① ②
(2)、方框处修改代码 -
16、大写英文字母加密:
步骤一、输入大写字母A-F的字符串,通过随机生成的keys列表进行匹配,找到相应的key,进行第1轮加密,得到相应的数字列表a。
步骤二、根据上述结果对加密后列表中的元素按偏移量K(K为正整数)发生偏移,每个元素从右往左向前移动K位,将偏移后结果存储在列表b中。
例如:
整体运行结果如下图所示:
(1)、现有加密列表keys[4,5,7,1,3,9],需加密字母为“ABED”,则一轮加密后得到的数字列表a为:[],若偏移量为3,则二次加密后的列表b结果为:[]。(2)、请在划线处填入合适的代码。import random
#随机生成 keys 列表
n=6
i=0
keys=[ ]
while i<n:
key=random.randint(1,9)
if key not in keys:
keys.append(key)
print("随机生成加密列表 keys:",keys)
#第1重加密:将输入的字母经过keys列表加密转换为a列表
a=[ ]
s=input("输入您要加密的字母(A-F):")
for i in s:
a.append(keys[])
print("经过第1轮keys列表加密后:",a)
#第2重加密:偏移加密
k=int(input("请输入偏移量K:"))
b=[0]*len(a)
for i in range(len(a)):
b[i]=a[]
print("经过第2轮加密后:",b)
-
17、现有一关于2021年某酒店线上销售业绩源数据清单,包括客服、月份、订单金额等相关数据的Excel文件“销售.xlsx”,如“图a”所示。
图a
使用Python读取表格中的数据,代码如下,根据题意填写划线部分:
import pandas as pd
df=pd.read_excel("销售.xlsx")
print() #筛选出商品原价大于等于1000的记录。
df1=df.groupby("客服",as_index=False)["订单金额"].sum()
df1.rename(columns={"订单金额":"订单总额"},inplace=True)
df2=
print( df2 ) #按“订单总额”降序排序后输出前10条记录
#以下代码功能为:绘制“各月份销售额”的折线图,结果如图b所示。
图 b
import matplotlib.pyplot as plt
df3=df.groupby("月份",as_index=False)["订单金额"].sum()
plt.figure(figsize=(10,5))
plt.title('各月份销售额')
plt. (df3["月份"],df3["订单金额"])
plt.xlabel('各月份')
plt.ylabel("订单金额")
plt.show( )
-
18、执行该程序段后,输出的结果为4,则应输入的内容为( )
n=int(input("请输入一个正整数"))
d={}
c=0
m=0
while n>0:
x=n % 10
if x not in d:
d[x]=1
else:
d[x]=d[x]+1
if d[x]==1:
c=c+1
n=n // 10
print(c)
A、135798 B、232458 C、20220320 D、24686482 -
19、有如下Python程序段:
n=10
m=0
d=[False]*10
for i in range(1,int(n**0.5)+1):
j=3*i
while j<n:
d[j]=not d[j]
j=j+3
for i in range(n):
if d[i]:
m=m+1
print(m)
执行该程序段后,变量m的值为( )
A、2 B、1 C、3 D、0 -
20、有如下Python程序段:
a=input('请输入一串英文字符串:')
s=''
sum=0
for ch in a:
s=s+str(ord(ch)-ord(‘A’)-1)
for ch in s:
sum+=int(ch)
print(sum)
若输入字符串为‘ZBAX’(不包含前后引号),则输出结果为( )
A、8 B、13 C、17 D、4