小馨搭建了“学生运动实时监测系统”,该系统的结构如右图所示,能够采集学生的运动和心率数据,并实时上传至服务器中进行备份。体育老师可以随时查看学生运动和心率等方面的数据,根据实际情况及时调整运动强度,以达到课程目标。
#程序段1 def fac (n): s = 1 for i in range(1, n+1): s =s*i return s print(fac(5)) | #程序段2 def fac (n): if n == 1: return 1 else: return n *fac (n - 1) #① print(fac(5)) |
下列关于两个程序段的说法,正确的是( )
a=[18,2,-1,-7,16,-2,12,8]
k1,k2=1,1
for i in range(len(a)):
if a[i]>a[k1]:
k2=k1;k1=i
elif a[i]>a[k2]:
k2=i
该程序段运行后,变量k1,k2的值分别为( )
key=int(input('待查数据为:'))
i=0;j=10;n=0
while i<=j:
m=(i+j+1)//2
if a[m]==key:
break
elif a[m]>key:
j=m-1;n=n-1
else:
i=m+1;n=n+1
执行该程序段后,下列说法正确的是( )
该系统服务器上的部分代码如下:
import sqlite3
from flask import Flask,render_template, request
DATABASE = 'data/data.db'
app = Flask(__name__)
@app.route("/")
def index():
#代码略
@app.route("/input")
def add_data():
id = int(request.args.get('id'))
tem = float(request.args.get('val'))
db = sqlite3.connect(DATABASE)
cur = db.cursor()
cur.execute("INSERT INTO sensor(sensor,sensorvalue) VALUES(%d,%f)" %(id, ____) )
_________________
cur.close()
db.close()
#代码略
if __name__ == "__main__":
app.run(host="10.8.251.173", port=8080)
请回答下列问题:
图 1 | 图 2 |
import pandas as pd
def read_file(filename):
#读入报名数据的原始文件,并将表中的数据转换成列表,代码略
def save_file(a): #保存名单到相应社团的 Excel 电子表格文件
df = pd.DataFrame(a,columns=[“班级”,“姓名”,“选报社团”])
df.to_excel( +“.xlsx”,index=False)
a = read_file(“社团报名.xlsx”)
n = len(a)
# 按社团名(参照拼音的字母顺序)进行升序排序,代码略
# 统计各社团人数,存在列表 rs 中,rs=[[“滑板社”,36],…],代码略
s = 0
for i in range(len(rs)):
left,right = s, s+num-1
while left < right:
imin = imax = left
for k in range(left+1,right+1):
if a[k][0] < a[imax][0]:
imin = k
elif a[k][0] > a[imax][0]:
imax = k
if imin != left:
a[imin],a[left] = a[left],a[imin]
if imax == left:
if imax != right:
a[imax],a[right] = a[right],a[imax]
left = left + 1; right = right–1
s += num
编写程序模拟有n(n=9)节车厢的“入轨”和“出轨”过程,(入轨车厢次序满足缓冲轨为3的情况)。车厢可以从入轨的前部移动到一个缓冲轨的顶部或者是出轨处的后部。进入缓冲轨的车厢编号要满足:
①小于要进入的缓冲轨的栈顶元素编号。
②满足条件①里面栈顶元素编号最小的缓冲轨。
③若没有满足条件①的缓冲轨,则进入空的缓冲轨。
def inputStack(bh,stacks,n): # 将车厢移到缓冲轨处
global minNum, minStack,k
bestStack = -1 # bestStack 记录最小车厢编号所在的缓冲轨编号
bestTop = n + 1 # bestTop 记录缓冲轨中的最小车厢编号
for i in range(k):
if len(stacks[i])>0:
top = stacks[i][-1]
if :
bestTop = top
bestStack = i
else:
if bestStack == -1:
bestStack = i
if bestStack == -1:
return False
stacks[bestStack].append(bh)
print('将 %d 号车厢从入轨处移到缓冲轨道 H%d 处。' % (bh, bestStack+1))
if bh < minNum:
minNum = bh
minStack = bestStack
return True
def output(stacks,n):
# 将缓冲轨中的剩余车厢按顺序依次移到出轨处,代码略
# 主程序开始
list = [3,6,9,2,4,7,1,8,5] #车厢的原始编号存放在列表 list 中
n = len(list)
k = 3
hStacks=[ for i in range(k)]
curBH=1
minStack = -1
print("车厢重排过程如下:")
i=0
while i < n:
if list[i] == curBH:
print("将 %d 号车厢从入轨处直接移到出轨处。" % list[i])
i += 1
continue
while True:
minNum = n + 1
for j in range(k):
if len(hStacks[j]) > 0:
if hStacks[j][-1] < minNum:
minNum = hStacks[j][-1]
minStack=j
if minNum == curBH:
print("将%d号车厢从缓冲轨道H%d移到出轨处。" %(minNum,minStack+1))
hStacks[minStack].pop()
curBH += 1
else:
i += 1; break
while curBH<n+1:
output(hStacks,n); curBH += 1
print("完成车厢重排!")