試卷征集
          加入會(huì)員
          操作視頻

          小紅編寫基于Flask Web框架的Python校園空氣質(zhì)量指數(shù)(AQI)監(jiān)測(cè)系統(tǒng),實(shí)現(xiàn)監(jiān)測(cè)校園各采樣點(diǎn)AQI數(shù)據(jù)。校園的每個(gè)采樣點(diǎn)都使用相關(guān)傳感器采集PM2.5、PM1.0和PM10的值,然后計(jì)算當(dāng)天的AQI。
          (1)數(shù)據(jù)采集與傳輸。學(xué)校操場(chǎng)是4號(hào)監(jiān)測(cè)點(diǎn),每分鐘采集一次PM2.5、PM1.0和PM10的值。如圖所示為其中某一天的部分采集數(shù)據(jù)。

          ①AQI需先統(tǒng)計(jì)全天PM2.5采樣數(shù)據(jù)的平均值,然后根據(jù)平均值計(jì)算獲得。根據(jù)上圖所示的數(shù)據(jù),PM2.5前3分鐘的平均值為
          39
          39
          (填數(shù)值)。
          ②小紅編寫了數(shù)據(jù)處理子程序,實(shí)現(xiàn)計(jì)算每天的數(shù)據(jù)采集文件中的PM2.5的平均值和AQI,程序段如下:
          f=open (“pm_d.txt”)#打開(kāi)文件
          def finds (c,st):#查找字符st在字符串c中的位置
          for i in range (len (c) ):
          if  a
          return i
          data=[];sum=0
          for line in f.readline 
          (  )
          (  )
          :#按行讀取文件
          if“PM2.5”in line:
          w=finds (line,“:”)
          d=b
          data=data+[d]#將獲取的PM2.5數(shù)據(jù)保存到列表中
          sum=sum+d
          ave=sum//len (data)#計(jì)算PM2.5的平均值
          #計(jì)算AQI,代碼略
          f.close (  )
          則程序中畫線處a、b應(yīng)填入的代碼為:a
          c[i]==st
          c[i]==st
          b
          int(line[w+1:])
          int(line[w+1:])
          .
          (2)數(shù)據(jù)存儲(chǔ)與呈現(xiàn)。該系統(tǒng)的主程序主要實(shí)現(xiàn):用數(shù)據(jù)庫(kù)存儲(chǔ)每天各監(jiān)測(cè)點(diǎn)上傳的AQI數(shù)值,訪問(wèn)該系統(tǒng)的路由等功能。訪問(wèn)該系統(tǒng)的URL為http://10.1.10.1:88/,并使用變量s傳遞查詢結(jié)果數(shù)據(jù),用于“vews.jye.ai”網(wǎng)頁(yè)文件顯示。實(shí)現(xiàn)主程序的部分代碼如下:
          from flask import Flask,render_template,request
          app=Flask (_name_)
          #數(shù)據(jù)處理子程序上傳的AQI數(shù)據(jù),并存儲(chǔ)到數(shù)據(jù)庫(kù)data.jye.ai的路由代碼略
          a#主頁(yè)面路由命令
          def index (  ):
          db=sqlite3.connect(“data.jye.ai”)
          #游標(biāo)變量cur連接等參數(shù),代碼略
          sql=“SELECT*FROM pm_b WHERE id=4”
          cur.execute (sql)#查詢4號(hào)監(jiān)測(cè)點(diǎn)AQI數(shù)據(jù)
          data=cur.fetchall (  )
          #數(shù)據(jù)庫(kù)執(zhí)行和關(guān)閉,代碼略
          return data#將data數(shù)據(jù)傳遞給參數(shù)變量s用于顯示在網(wǎng)頁(yè)中
          if_name_==“_main_”:
          app.jye.ai(b)#(選填)
          請(qǐng)回答下列問(wèn)題:
          ①分析程序可知,存儲(chǔ)每天的AQI的數(shù)據(jù)表名為
          pm_b
          pm_b

          ②為實(shí)現(xiàn)上述功能,程序中畫線a處應(yīng)填入代碼為
          @app.jye.ai(“/”)
          @app.jye.ai(“/”)

          ③為實(shí)現(xiàn)上述功能,程序中畫線b處應(yīng)填入的代碼為
          B
          B

          A.host=“10.1.10.1:88”,port=88
          B.host=“10.1.10.1”,port=88
          C.host=“http://10.1.10.1”,port=88
          D.host=http://10.1.10.1,port=8000
          ④程序中加框處的代碼有誤,則能正確實(shí)現(xiàn)系統(tǒng)功能的代碼是
          D
          D

          A.return s
          B.return render_template(“vews.jye.ai”,s)
          C.return render_template(“vews.jye.ai”,data)
          D.return render_template(“vews.jye.ai”,s=data)

          【答案】39;(  );c[i]==st;int(line[w+1:]);pm_b;@app.jye.ai(“/”);B;D
          【解答】
          【點(diǎn)評(píng)】
          聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書(shū)面同意,不得復(fù)制發(fā)布。
          發(fā)布:2024/6/27 10:35:59組卷:1引用:2難度:0.3
          相似題
          • 1.現(xiàn)有一個(gè)m*n的迷宮矩陣 maze(如圖 a),矩陣中有空格子(用1表示,可通行)和墻(用0表示,不可通行);在迷宮中通行的每一步移動(dòng)操作,你可以往上,下,左或者右方向移動(dòng)一個(gè)格子(不能進(jìn)入墻所在的格子)。
            你的目標(biāo)是找到離entry(入口)最近的出口,并規(guī)劃入口到出口的行走路徑。(出口的含義是 maze邊界上的空格子。entry格子不算出口)。如果不存在這樣的路徑,請(qǐng)你返回-1;如果有,則展示entry到出口的行走路徑。
            程序在正常執(zhí)行后,運(yùn)行結(jié)果如圖b所示:

            ●尋找最近出口位置的思路與算法:
            預(yù)設(shè):0墻      1空格子      2已探索
            在廣度優(yōu)先搜索的過(guò)程中,我們?cè)陉?duì)列中保存[cx,cy,d]三元素列表,其中(cx,cy)為當(dāng)前的行列坐標(biāo),d為當(dāng)前坐標(biāo)相對(duì)入口的距離(即需要移動(dòng)的步數(shù))。
            當(dāng)我們遍歷至(cx,cy)時(shí),我們枚舉它上下左右的相鄰坐標(biāo)(nx,ny)。此時(shí)可能有三種情況:
            ①(nx,ny)不屬于迷宮坐標(biāo)或?yàn)閴Γ藭r(shí)無(wú)需進(jìn)行任何操作;
            ②(nx,ny)為迷宮的出口(在迷宮邊界且不為墻),此時(shí)應(yīng)返回 nx,ny,d+1,即該出口的坐標(biāo)以及相對(duì)入口的距離作為答案。
            ③(nx,ny)為空格子且不為出口,此時(shí)應(yīng)將新坐標(biāo)設(shè)置為已探索,并將其對(duì)應(yīng)的三元素列表[nx,ny,d+1]加入隊(duì)列。
            最終,如果不存在到達(dá)出口的路徑,我們返回-1作為答案。
            1、若迷宮數(shù)據(jù)為maze=[[0,0,0,0,0],[1,1,1,1,0],[0,1,0,1,1],[0,1,1,1,0],[0,0,0,0,0]],則最少移動(dòng)步數(shù)為
             

            2、請(qǐng)將以下的程序代碼,補(bǔ)充完整。

            發(fā)布:2025/1/2 10:30:2組卷:1引用:1難度:0.4
          • 2.又到植樹(shù)的季節(jié),大人和小孩共100個(gè),需要種100棵樹(shù),每個(gè)大人每天能種3棵樹(shù),三個(gè)小孩每天能合種1棵樹(shù),大人小孩至少都有1位參加,問(wèn)大人和小孩各有幾個(gè),正好一天完成這個(gè)任務(wù)?
            (1)大人和小孩個(gè)數(shù)最合理的范圍是
             

            A.大人:5到33,小孩:1到99
            B.大人:1到33,小孩:1到291
            C.大人:1到33,小孩:3到99
            D.大人:1到33,小孩:3到291
            (2)設(shè)大人為a,小孩為b,匹配這個(gè)需求的條件是
             

            A.a(chǎn)*3+b/3=100 and a+b=100
            B.a(chǎn)*3+b/3=100 or  a+b=100
            C.a(chǎn)/3+b*3=100 and a+b=100
            D.a(chǎn)/+b*3=100 or  a+b=100
            (3)算法的初始化部分已在提供的程序中完成。請(qǐng)?jiān)谥付▍^(qū)域內(nèi)編寫程序,完成題目要求的功能。完成VB程序的編寫,輸出符合條件的人數(shù)組合。(注意:程序編寫正確才能得分)
            Dim a As Integer,b As Integer

            發(fā)布:2025/1/2 11:30:1組卷:1引用:1難度:0.3
          • 3.查找與替換。從鍵盤上分別輸入要查找和替換的字符串,對(duì)文本文件進(jìn)行查找與替換,替換后保存到新的文本文件中。完成查找與替換功能的思路是:首先可從待檢索文本文件“in.jye.ai”逐行讀取文本內(nèi)容到列表text,然后從鍵盤上輸入查找的字符串key和替換的字符串new,對(duì)列表text中的元素逐個(gè)進(jìn)行查找并替換,結(jié)果保存到列表result,最后將result 寫入文件“out.jye.ai”。
            (1)主程序。
            text=readfile(“in.jye.ai“)#讀入文件
            key=input(“請(qǐng)輸入要查找的字符串:“)
            new=input(“請(qǐng)輸入要替換的字符串:“)
            result=[]
            for line in text:
            newline=replace(key,new,line)#替換
            result.append(newline)#添加到列表
            writefile(“out.jye.ai“,result)#寫入文件
            該程序段采用的算法是
             
            (單選,填字母:A.解析算法/B.枚舉算法)。
            (2)讀寫文本文件,如下的readfile函數(shù),逐行讀取文本文件數(shù)據(jù)存入列表并返回。請(qǐng)?jiān)跈M線處填入合適的代碼。
            def readfile(filename):
            f=open(filename,encoding=“utf-8“)#打開(kāi)文件
            text=[]
            line=f.readline(  )#從文件中讀取一行
            while line:
            text.jye.ai(line)#添加到列表
            line=f.readline(  )
            f.jye.ai(  )
            return    
            def writefile(filename,text):
            #將text寫入filename文件,代碼略
            (3)查找字符串,如下的findstr函數(shù),在字符串line中從begin位置開(kāi)始查找key在字符串line中的位置,請(qǐng)?jiān)跈M線處填入合適的代碼。
            def findstr(key,line,begin):
            for i in range(begin,len(line)-len(key)+1):
            if         
            return i
            return-1
            (4)替換字符串。如下的replace函數(shù),在字符串line中檢索所有的字符串key并替換為new,請(qǐng)?jiān)跈M線處填入合適的代碼。
            def replace(key,new,line):
            begin=0
            while begin<len(line)-len(key)+1:
            pos=findstr(key,line,begin)
            if pos==-1:
                      
            else:
            line=line[0:pos]+new+line[pos+len(key):len(line)]
            begin=pos+len(key)
            return line

            發(fā)布:2025/1/2 10:30:2組卷:0引用:2難度:0.3
          APP開(kāi)發(fā)者:深圳市菁優(yōu)智慧教育股份有限公司| 應(yīng)用名稱:菁優(yōu)網(wǎng) | 應(yīng)用版本:5.0.7 |隱私協(xié)議|第三方SDK|用戶服務(wù)條款
          本網(wǎng)部分資源來(lái)源于會(huì)員上傳,除本網(wǎng)組織的資源外,版權(quán)歸原作者所有,如有侵犯版權(quán),請(qǐng)立刻和本網(wǎng)聯(lián)系并提供證據(jù),本網(wǎng)將在三個(gè)工作日內(nèi)改正