组卷网 > 高中信息技术综合库 > 数据与计算 > 算法与程序实现 > 算法 > 典型算法
题型:操作题 难度:0.65 引用次数:83 题号:15973406
小刚开发基于 Python 的 Flask Web 框架的室内光线强度监测信息系统,该系统的主程序主要实现: 用数据库存储光线传感器上传的数据,访问该系统的路由等功能。系统程序及相关的子系统都布署在Web 服务器端,网站框架如图 14 所示。

图 14

实现上述系统的服务器端 Python 程序如下:

from flask import Flask,render_template,request DATABASE = 'data/data.db'
                   
app = Flask( name , static_url_path='')
@app.route('/')
def hello():

db = sqlite3.connect(DATABASE)

cur=db.cursor()

cur.execute("SELECT*FROM sensorlog WHERE sensorid=1")

data = cur.fetchall()# 获取所有数据

cur.close()                    # 关闭游标

db.close()                    # 关闭数据库

temp1 = data[len(data)-1] # 获取列表中最新记录

light = temp1[3]                  # 获取最新记录中的光线数据

return render_template('vews.html',data=data,light=light)

                        #提交传感器数据子页面路由命令
def add_data():

sensorid = int(request.args.get('id'))

lightvalue = float( ③   )#变量 light 用于存储光线数据

#打开数据库,并将接收的数据存储到数据库中,代码略

if name = ' main ':

app.run(host=ip, port=port, debug=True, use_reloader=False)

1)分析程序可知,存储光线数据的数据表名为______________
2)为实现上述功能,程序中①划线处应该填入的代码为__________ ,为实现上述功能,程序中②划线处应该填入的代码为__________
A.@app.route("/get",methods=['GET'])
B.@app.route("/input",methods=['GET'])
C.@app.route("/",methods=["GET"])
D.@app.route("/view",methods=["GET"])
E.ip =   "192.168.16.115";port   =   "8080"
F.ip = "192.168.16.115:8080";port = "8080"   
G.ip="http://192.168.16.115";port= "8080"   
(3)程序中③处应填写的代码为__________
【知识点】 典型算法

相似题推荐

操作题 | 适中 (0.65)
【推荐1】某单位有多个部门,部门编号0~n-1,人数不尽相同,如图a所示。现举行某项活动,需要将所有人重新分组。分组前按部门人数由少到多的顺序(升序)排列,从人数最少的部门开始,按每m人一组划分,最后一组若不足m人,则该组不参加活动转做后勤。例如设定每组人数m=7,各部门人数存于列表a中,a=[3,4,2,1,6,4],则分组情况如图b所示。
部门编号部门人数按部门人数由少到多顺序排列后进行分组

每组7人进行分组
0号3组别有关部门
1号4第1组3号,2号,0号,1号(1人)
2号2第2组1号(3人),5号
3号1第3组剩余6人转做后勤
4号6
5号4
                  图a                                                                                                                                  图b
(1)由题意可知,若仅将图a中1号部门的员工人数修改为2,则分组后第2组内的部门是____。(请填写正确的部门编号,若有多个编号则用逗号隔开,例如1,2,3)
(2)定义如下rank(a)函数,该函数的功能是返回1个列表,列表元素为各部门编号,并按部门人数升序排列。
def rank(a):#参数a为列表,表示各部门人数,例如[3,6,2,1]
n=len(a);
p=[0]*n#各部门初始排名号为0
b=[0]*n
for i in range(n):
       for j in range(i+1,n):
             if a[i]>a[j]:
                    p[i]+=1#第i号部门的排名存于p数组
             else:
                    p[j]+=1
       b[p[i]]=i#第i号部门排名为p[i],名次号从0开始计算
return b   #返回列表b,例如[3,2,0,1],表示人数最少是3号部门,最多的是1号部门若a的值是[5,3,4,1],执行rank(a),函数中虚线框内程序结束后p列表的值是____
(3)实现分组的部分Python程序如下,请在程序中划线处填入合适的代码。
def group(a,m):
b=rank(a)
n=len(a);gnum=0;c=[[]]
____
for i in range(n):#共n个部门
       tot+=a[b[i]]
       c[gnum].append(b[i])
       while ②____:
             tot=tot-m
             c.append([])
             ____
             if tot>0:
                    c[gnum].append(b[i])
#判断最后一个部门的分组情况
if tot>0:#最后一个部门有剩余且不足m人
       c.pop()#去掉多余数据,将列表c最后一个元素删除
       print(tot,"人转做后勤")
print("团建共有",gnum,"组,分组情况为:",c)
'"读取每组人数m值:读取每个部门原始人数,依次存入列表a的a[0]至a[n-1]中。
a[i]包含1个数据项,表示第i号部门的原始人数,代码略"'
group(a,m)
2024-04-02更新 | 8次组卷
操作题 | 适中 (0.65)
【推荐2】一个三位数,其各个数位的立方和等于该数本身,则称此数为水仙花数。下面一段程序的功能是:输入一个三位数,输出该数是否是水仙花数。在横线处填写语句
i=int(input(“请输入一个三位整数”))
a=____
b=i//10%10
c=____:
if ____:
       print(i,”是水仙花数!”)
else:
       print(i,”不是水仙花数!”)
2024-03-08更新 | 12次组卷
操作题 | 适中 (0.65)
【推荐3】某换位密码加密的程序如下:

(1)在划线①②处,填入适当的语句或表达式,将程序补充完整
_________________________________
(2)如果输入的code为“诸暨二中2021”,key为2,那么输出的结果为:________
2021-12-14更新 | 74次组卷
共计 平均难度:一般