编程处理数据与可视化 知识点题库

通常是为了接近并达到所需的目标或结果,对过程进行重复,每一次重复得到的结果会被用来作为下一次的初始值。这种用计算机解决问题的一种基本方法是(     )。
A . 迭代法 B . 查找法 C . 分析法 D . 排序法
numpy是一个科学计算包,其中包括很多,如、矩阵计算方法、、线性代数等。
小范编写B/S架构的“校园温度监测系统”,使用micro:bit软件采集温度数据,使用BXY软件给终端编写数据传输的程序,部分代码如下:

#导入函数库代码略

#设置智能终端连接服务器的参数

IP="192.168.1.100"

   ①         #设置传输的端口

SSID= "jf"

PASSWORD = "20200410"

Uart.init(baudrate=1 15200, bits=8, parity=None, stop=1, tx=pin2, rx pin1)

#网络连接

while Oboq.connectWif(SSID, PASSWORD, 10000)!=True:

    display.show(".")

display.scrol(Obloq.ifconfig( ))

Obloq.httpSet(IP, PORT)          #根据ip和port建立连接

#采集传感器数据,并设置传输模式

while True:

    temp, hum = dhtl1.read(16)

    ermo, resp = Oboq.get(   ②   )    #设置传输的数据的模式

    if errmo = 200:

        display.scrol(resp)

    else:

        displayscrolls(tr(errno))

           ③            #设置采集间隔时间

若传输数据时使用的URL为//92/16/.1.100.8080/i0put?id=1&val=31,请回答下列问题:

  1. (1) 结合实现上述功能的Python程序和访问的URL,在①处填写合适的代码
  2. (2) ②处应填写的代码为
  3. (3) 若要求智能终端每间隔5秒采集传感器的温度数据,则③处应填入的代码为
  4. (4) 智能终端与物联网模块的无线密码为
小智在分析应用功能组成后,根据功能需求编写了如下网络应用Python代码:

from flask import Flask,render_template,request

app =                

@app.route("/")

def index():

#显示“主页”页面,代码略

@app.route("/introduce")

def introduce():

#显示“介绍”页面,代码略

@app.route("/exercise",methods=["GET","POST"])

def exercise():

#显示“练习”页面,代码略

@app.route("/top")

def toplist():

#显示“排行榜”页面,代码略

if __name__ == "__main__":

app.             

  1. (1) 请在划线处补充代码。
  2. (2) 请用实线将下列访问的“在线加法练习系统”功能的URL与相应的路由及视图函数连接起来。(答案填写格式如:A-d 、B-a)

    A.//127.0.0.1:5000/top

    toplist()

    a.@app.route("/top")

    B.//127.0.0.1:5000/

    exercise()

    b.@app.route("/exercise",methods=["GET","POST"])

    C.//127.0.0.1:5000/exercise

    introduce()

    c.@app.route("/introduce")

    D.//127.0.0.1:5000/instance

    index()

    d.@app.route("/")

                                                       

  3. (3) 在Flask Web应用框架中,可以通过网页模板来显示内存变量的值或对象等,以下在模板文件index.html中用于显示内存变量xxjs值的正确代码为           
    A . {{xxjs}} B . {{#xxjs#}} C . {{%xxjs%}} D . {%xxjs%}
小明编写了一个保护照片隐私部分的程序。功能如下:依次输入左上角和右下角的坐标值(x1,y1,x2,y2,),对这块区域的像素进行加工处理。实现上述功能的Python程序如下,请回答下列问题:
  1. (1) 请在划线处填入合适代码。

    from PIL import Image

    import numpy as np

    import matplotlib.pyplot as plt

    from random import random

    s=input("依次输入左上角和右下角的坐标值(以‘,’分隔,以‘,’结尾):")

    w=[];h=[];k=0;t=0

    for i in s:

        if i==",":

            if k%2==0:

                w.append(t)    #append方法用于在列表末尾添加新元素

            else:

                h.append(t)

            t=0;k=k+1

        else:

           

    print(w,h)

    im =  #打开图像y.jpg

    pix=im.load()

    for i in range():

        j= h[0]

        while j<=h[1]:

            R,G,B=pix[i,j]

              pix[i,j]=(int(random()*0.8*R),int(random()*0.8*G),int(random()*0.8*B))

            j+=1

    plt.figure("y1")          #指定当前绘图对象

    plt.imshow(im)            #显示图像

    plt.axis("off")           #关闭图像坐标

    plt.show()                #弹出包含了图片的窗口

  2. (2) 调试程序时,输入数据“10,10,90,90”,能调试成功吗?(选填:能/不能)
某次测试的excel文件成绩表如图1所示。

图1

  1. (1) 已知有200名同学参加了本次测试。小明想把全体同学的信息平均分放在D202单元格,那么在D202单元格输入的公式为
  2. (2) 现在要求用python增加“总分”列数据,然后求每个班总分的平均分(如图图2),最后绘制每班总分平均分的垂直柱形图(如图3)。请在程序①②选择合适的代码

    图2

    图3

    import pandas as pd

    import matplotlib.pyplot as plt

    #图表中文显示处理,代码略

    df=pd.read_excel("test.xlsx")

    score=[]

    for i in df.values:

      js=   ①            #①处请选择  (填字母):A . df["信息"]+ df["通用"] / B . i[3]+i[4]

      score.append(js)

      df["总分"]=score

      df1=df.groupby("班级",as_index=False) ["总分"].mean()

      plt.title("期中技术平均分")

      plt.   ②   (df1["班级"],df1["总分"],width=0.5)        #②处请选择   (填字母):A . plot / B . bar /C . scatter

将 micro:bit 板与计算机相连,并通过 BXY Python Editor 软件将以下程序“烧录”进板,并查看输出结果。

micro:hit

from microbit import *

import random try:

while True:

display.scroll(str(random.randint(1, 5)))

except:

display.clear()

以下有关上述操作的描述正确的是(  )

A . 不论 micro:bit 板与电脑连接与否,都能将程序“烧录”进去 B . 在 BXY Python Editor 编辑器里不断随机显示“1~4”四个数字中的其中一个 C . 在 micro:bit 板的 LED 上滚动随机显示“1~5”五个数字中的其中一个 D . 一旦将 micro:bit 板与电脑的连接断开,随机数字将无法显示
小明收集了本市新冠疫苗接种点的相关信息,存储在“ymjz.xlsx”文件中,如图a所示,编写Python程序对数据进行处理。

图a

  1. (1) 实现相关功能的程序如下,请在划线处填入合适的代码:

    import pandas as pd

    import matplotlib.pyplot as plt

    df=pd.read_excel("ymjz.xlsx")

    #输出功能:输出接种台数大于2的接种单位名称

    df1=df[ ]

    print(df1.单位)

    #统计功能:统计各区县的医务人员数量

    g=df.groupby("区县",as_index=False)["医务人员数"]

    df2=

    print(df2)

    #分析功能:分析本市各类别(常规、方舱、医疗临时点、校企临时点、其他)接种单位的数量情况并制作图表呈现

    g=df.groupby("类别",as_index=False)

    df3=g.count()

    df3=

    plt.   (df3.类别,df3.单位)

    plt.show()

  2. (2) 为得到图b所示的图表,程序代码中加框处填入的代码组合可能是              

    图b

    A . 甲 丙 B . 甲 丁 C . 乙 丙 D . 乙 丁
某城市正在举行“迎亚运邮票设计大赛”作品的微信投票活动,共有6件作品参与投票,现要选出得票最高的作品。每人每票最多可投3件作品(一张选票中投票超过3件作品则该选票无效)。本次投票共收到七万多条数据,小萌已将投票数据整理为csv文件,如图a所示,并将选票处理结果可视化,如图b所示。

  1. (1) 小萌先进行抽象建模与算法的设计,请补充完整划线处的内容。

    将csv文件中的数据存储到二维数组result[i][j],表示第i张选票第j件作品的票选数据,一维数组ps[i]表示作品i的最终得票数。依次处理所有选票数据,用sumx统计某张选票中“1”的个数,当可判断该选票有效,否则无效。若选票有效则对应的作品票数加1,最后将选票结果用图表呈现。

  2. (2) 为实现上述功能,请在划线①②处填入合适的代码。

    import numpy

    import matplotlib.pyplot as plt

    result=numpy. loadtxt ("toupiao.csv", encoding="utf-8", delimiter=",",s kiprows=1)

    #将csv文件转化为二维数组,skiprows=1表示忽略第一行数据

    n=len(result)  #获取result的行数(收到的投票数)

    zp=["作品1", "作品2", "作品3", "作品4", "作品5", "作品6"]

    ps=[0]*6

    for i in range(n):

     

       for j in range(6):

          sumx+=result[i][j]

       if  sumx<=3:

          for j in range(6):

            

    plt. rc("font", **{"family": "SimHei"})  #设置图表中的文字字体

    for x, y in zip(zp, ps):                #zip函数用于显示数字标签

       plt. text(x, y, "%d" %y, ha="center", va="bottom", fontsize=14)

    plt. title("迎亚运邮票设计大赛")

        #绘制垂直柱形图

    plt. show()

  3. (3) 方框处应选择的代码为(   )(单选,填字母)
    A . plt. bar(zp, ps) B . plt. plot(zp, ps)  C . plt. scatter(zp, ps)
下面这段程序是绘制函数图象的,其中plot函数可以绘制线形图

1

2

3

4

5

6

7

8

9

import numpy as np

import matplotlip.pyplot as plt

x=np.linspace(0,10, 100)

y=np.sin(x)

plt.title("sin(x)")

plt.plot(x,y,color="r",linewindth="2")

plt.show( )

以下图形哪一个是该程序绘制出来的(    )

A . B . C . D .