智慧家居报警系统由报警主机和各种探测器组成。探测器包括门磁、窗磁、煤气探测器、烟感探测器、红外探头等。若有特定情况便会触发相应的探测器,家庭报警主机会立即触发警铃,并将相关数据传送至小区管理中心,同时小区管理中心的报警主机将会记录下这些信息,并发送到用户指定的电话,以备查阅。
s = "A-b2c " ; ch = ""
list=[4 , 3 , 1 , 5 ,2]
for i in range(1en( s)):
if "A " <= s [i] <= "Z " :
ch = ch + chr (ord(s [i]) + list[i])
elif "a " <= s [i] <= "z " :
ch = ch + chr (ord(s [i]) - list[i])
else:
ch= s [i]+ch
print(ch)
该程序运行后,输出的结果是( )
n= 5
head=0
tail=4
que=['a' , 'b' ,'c' ,'d' ,'e' ]
while head!=tail:
if head%4==0:
print (que[head])
else:
tail=(tail+1)%n
que[tail]=que[head]
head= (head+1)%n
print (que[head])
def judge(a, b):
n=len(a) ;st=[- 1]*n
top-= 1; i=j=0
while i<n:
top+= 1
①
i+= 1
while top> - 1 and ② :
top-= 1
j+= 1
return top==- 1
from random import shuffle
a=[1,2,3,4, 5]
b=[1,2, 3, 4, 5]
shuffle (b) #将序列 b 的元素随机排序
if judge(a, b):
print (b,'是' ,a,' 的出栈序列')
else:
print (b,'不是' ,a,' 的出栈序列')
程序运行结果如图所示。划线处应填写的语句是( )
其中会员注册子页面如图b所示。存储会员信息的users表中共3个字段,依次保存序号、用户名和密码,如图c所示。会员注册时需满足以下条件:①用户名不重复;②密码长度大于5。服务器端部分代码如下。
from flask import Flask , render_template , request
import sqlite3
def check(name ,pwd):
conn= sqlite3 .connect( " account .db ")
cur=conn .cursor()
cur . execute( " select * from users where name= ’%s ’"%name)
val=cur .fetchall()
flag=True
if len(val)==0 and :
sql= "insert into users(name , password) values(' %s' , '%s ') "%(name , pwd)
cur .execute(sql)
conn .commit()
else:
flag=False
cur .close()
conn .close()
return flag
app=Flask(name_)
@app .route( "/reg ")
def reg() :
name=request . args .get( "xm ")
pwd=request .args .get( "psd ")
if :
return "注册成功! "
else:
return "请重新注册! "
#其它代码略
if _name_== "_main_ " :
app .run (host= " 192 . 168 . 1 . 10 " , port= 80 , debug=True)
import pandas as pd
import matplotlib.pyplot as plt
#图表支持中文字体显示,代码略
df= pd.read_excel("jsxk.xls",dtype={'学校代码':'string'}) #学校代码列为字符串
df1 = df.groupby(" ", as_index=False).count() #按学校统计人数
df1 = df1.rename(columns={'姓名':'学生总数'})#重命名列
df1['技术比例'] = round(/df1['学生总数']* 100,2)
df1 = df1.sort_values('技术比例',ascending=False).head(5)
plt.title('技术选考比例前 5 的学校')
plt.bar( )
plt.show()
def zdygroupby(1st):
dic = {}
for row in lst:
if row[2] == 1:
if :
dic[row[0]]=1
else:
dic[row[0]]+= 1
图 a |
图 b |
编写函数init,根据横向和纵向的正方形数量,返回所有顶点及其所有的相邻顶点数据。完善程序,在划线处填入合适的代码。
def init(m,n):
tot=(m+1)*(n+1) #顶点总数
lst=[[] for i in range(tot)]
for i in range(tot):
if i>m:
lst[i].append(i-m- 1)
if i<(m+1)*n:
lst[i].append(i+m+1)
if i%(m+1) != 0:
lst[i].append(i- 1)
if i%(m+1) != m:
return lst
图 c
编写函数print_path,输出所有的最短路径。完善程序,在划线处填入合适的代码。
def print_path(x,path,length): #为起点编号,length为Path中有效元素个数。
cnt=0
for i in range(length):
if path[i][0] == x:
cnt+= 1
s="最短路径"+str(cnt)+":"
v=path[i]
while :
s=s+str(v[0])+","
v=path[v[2]]
s=s+str(v[0])+" 。"
print(s)
m=3 #横向正方形数量
n=2 #纵向正方形数量
mtx=init(m,n)
x=int(input("请输入起点:"))
y=int(input("请输入终点:"))
path=[[] for i in range(30)]
passed=[False]*len(mtx) #保存顶点是否已途经
dis=0
head=0
tail=0
path[tail]=[y,0,- 1]
tail+= 1
passed[y]=True
while not found:
dis+= 1
pass_dis=[False]*len(mtx)
tmp=tail
for i in range(head,tail):
v=path[i]
for d in mtx[v[0]]:
if not passed[d]:
path[tail]=
tail+= 1
pass_dis[d]=True
if d == x:
found=True
head=tmp
for i in range(len(mtx)): #标记已途经的顶点
if :
passed[i]=True
#输出结果
print_path(x,path,tail)