相关试卷
-
1、在网络的下列应用中,对带宽要求最低的是( )A、网络可视电话 B、网上视频点播 C、网上视频聊天 D、收发邮件
-
2、关于创建超链接的下列叙述中,不正确的是( )A、不可以链接到电子邮件信箱 B、一张图片可以包含多个链接 C、在表单中可以建立超链接 D、可以链接到网页中被标记的位置或文字
-
3、利用Flask和Sqlite模块,编写相应的Python程序与网页代码,来模拟用户登录验证过程。功能是:运行Python程序,启动浏览器并输入相应网址,在网页中输入用户名、密码,与数据库中的数据进行比对,若正确则在浏览器中显示成功信息,否则显示“用户名或密码错误!”。存储用户名、密码的数据表中共有三个字段,依次表示序号、用户名、密码。input.html网页与success.html网页内容如下:
<html><head><title>输入账号密码</title></head> <body>
<form action="/deal_request" method="get">
请输入账号:<input type="text" name="usr" ><br>
请输入密码:<input type="password" name="psd"><br> <input type="submit" value="提交" />
</form>
</body></html>
<html><head><title>Welcome</title></head>
<body>
<h1>登录成功!</h1><br>
<h1>欢迎你: ① </h1><br>
</body></html>
编写的 Python 程序如下:
from flask import Flask, render_template, request
import sqlite3
② = Flask(_name_)
@app.route('/')
def input():
return render_template('input.html')
@app.route('/deal_request', methods = ['GET'])
def deal_request():
get_usr = request.args.get('usr')
get_psd = request.args.get('psd')
if check(get_usr, get_psd):
return render_template('succes.html', name=get_usr)
else:
return '用户名或密码错误!'
def check(name, psd):
db=sqlite3.connect('login.db')
cur= ③ #创建游标对象
cur.execute('select * from users')
data=cur.fetchall()
for rec in data: #比对用户名与密码
if rec[ 1]==name and rec[2]==psd:
return True
else:
return False
if _name_ == '_main_':
app.run(host=' 127.0.0. 1 ', port=5000, debug=False)
请完成下列题目:
(1)、在浏览器中输入地址:http://127.0.0. 1:5000 ,则访问的网页是。(2)、若登录成功后,在浏览器中文字“欢迎你:”的后面显示当前用户名,则划线①处的代码是 。(3)、要实现上述功能,完善划线②、③处代码。②③
(4)、若本机IP地址为192.168.0.1,若要使同网段内其他计算机可以访问上述服务,则需将加框处的IP地址改为。 -
4、某中学为更好组织高三学生参加某高校的三位一体招生考试(该高校三位一体招生学业水平考试成绩折算如下:各科学考等级按A=10分、B=9分、C=8、D=6分进行折算),统计了所有学生学业水平成绩情况,并保存在“学考成绩.xlsx”中,如图a所示。用Python读取“学考成绩.xlsx”文件,并计算每个学生的折算分,筛选出各班“A总数”最多的前5条数据,导出到“各班前5名统计.xlsx”文件中。同时为直观展示各班折算分92分以上人数对比,生成图b所示图表。

图 a

图 b
(1)、在对表格进行整理时发现,表格中关于“德乐蕊”的记录,可能存在的数据问题是 (选填:A .数据缺失/B .数据异常/C .逻辑错误/D .格式不一致)。(2)、“各班前5名统计.xlsx”文件中共有 位学生数据。(3)、请在下述程序的划线处填上合适的代码。Python 程序代码如下:
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
df=pd.read_excel('学考成绩.xlsx')
#正常显示汉字
df.折算分=
#对df以“班级”为主要关键字升序、“A总数”为次要关键词降序进行排序
df_sort=df.sort_values(['班级', 'A 总数'], ascending=[True, False])
result=df_sort.head(5)
for i in range(2, 7):
result=result.append(df_sort[ ].head(5), ignore_index=True) result.to_excel('各班前5名统计.xlsx')
df=df[df.折算分>=92]
df_count=df.groupby('班级').count( )
#修改“折算分”列名为“上线人数”
df_count = df_count.rename(columns={'折算分':'上线人数'})
x=df count.indexy=
plt.figure(figsize=(8, 4))
plt.bar(x, y, label='上线人数')
plt.ylim(15, 30)
plt.legend( )
plt.show( )
-
5、罗马数字是阿拉伯数字传入之前使用的一种数码。罗马数字采用七个罗马字母作基本数字,即Ⅰ(1)、X(10)、C(100)、M(1000)、V(5)、L(50)、D(500)。
具体的记数方法为:
①相同的数字连写,所表示的数等于这些数字相加得到的数,如Ⅲ=3;
②小的数字在大的数字的右边,所表示的数等于这些数字相加得到的数,如Ⅷ=8、Ⅻ=12;
③单个小的数字(限于Ⅰ、X和C)在大的数字的左边,所表示的数等于大数减小数得到的数,如Ⅳ=4、Ⅸ=9
王老师结合上述规则,在7个基本数字基础上新增了部分常用数字,并设计了一个将罗马数字和阿拉伯数字进行相互转换的程序,运行界面如图所示:

实现该功能的程序代码如下:
num=[1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1]
roma={1000: 'M', 900: 'CM', 500: 'D', 400: 'CD', 100: 'C', 90: 'XC', 50: 'L', 40: 'XL', 10: 'X', 9: 'IX', 5: 'V', 4: 'IV', 1: 'I'}
s=input('输入一个罗马数字: ')result1=0
①
for i in range(13):
while s[k:k+len(roma[num[i]])]==roma[num[i]]:
result1 += num[i]

print('阿拉伯数字是:',result1)
n=int(input('输入一个阿拉伯数字:'))
result2=''
for i in range(13):
while n>=num[i]:
result2 = result2 + roma[num[i]]
②
print('罗马数字是:',result2)
根据以上代码,回答下列问题:
(1)、“roma”的数据结构类型是。(2)、要实现数字转换,请完善上述程序的划线处代码。①②
(3)、上述程序中加框处代码有误,请改正。 -
6、某传感器实验要实现如下功能:micro:bit通过传感器dht11获取温湿度,通过串口与计算机传送数据,当用户在计算机上输入字符“T”,在micro:bit的LED阵列上显示温度,输入字符“H”,则显示湿度。
micro:bit中烧录如下代码:
from microbit import
import dht11
while True:
temp, hum=dht11.read (pin1)
if uart.any:
incni'ng-str (uart.readal1 O, "UTE-8'》
incoming=incoming.strip('n')
if incoming='T':
display .show (temp)
① :
display.show (hum)
else:
display.scroll ('err')
在计算机端的Python程序如下:
import serial, time
ser=serial.Serial( )
ser.baudrate= 115200
ser.port='COM3'
②
while True:
select=input( )
ser.write(select.encode( ))
#打开串口
回答下列问题:
(1)、温湿度传感器接在 micro:bit 的 引脚上。(2)、要实现设定功能,请完善上述划线处代码。①②
(3)、在完善上述代码后发现系统不能正常工作,其原因是。 -
7、有如下 Python 程序。
from random import randint
a=[0]*6
for i in range(6):
a[i]=randint(1, 10)
for i in range(6):
if a[i]%2==0 and i%2== 0:
a[i] += 1
elif i%2==1:
a[i]=a[i]+a[i- 1]
print(a)
程序运行后,输出结果可能是 ( )
A、[8, 11, 7, 3, 11, 14] B、 [9, 13, 7, 13, 11, 14] C、[9, 8, 11, 13, 7, 15] D、 [9, 13, 7, 13, 10, 8] -
8、某加密程序的代码如下:
def encrypt(code, key):
code_new = ''
for i in range(len(code)):
code_new = code[(i+key)%len(code)] + code_new
return code_new
code = input('请输入加密字符串:')
key = int(input('请输入偏移位数:'))
print(encrypt(code, key))
当输入“Python”和“3”后,程序输出的结果是 ( )
A、 mvqelk B、 sbwkrq C、 honPyt D、 tyPnoh -
9、有如下程序:
a = input('输入小写字母组成的字符:')
for i in a:
n = ord(i)+1 #(字符a的ASCII码为97)
h = ''
for j in range(8):
h = str(abs(n%2- 1))+h
n = n//2
print(h, end=' ')
若输入小写字母“ab ”得到的结果是 ( )
A、0011101 0011100 B、1100010 0011100 C、10011101 10011100 D、00011101 00011100 -
10、异或运算时要求把参与运算的数转换为二进制数再进行按位运算,在Python中异或运算符号用“^”表示,则Python表达式13^5的值是 ( )A、5 B、8 C、13 D、18
-
11、下列代码的输出结果是 ( )
s=['seashell', 'gold', 'brown', 'purple', 'tomato']
print(s[2][1:4])
A、gold B、row C、gol D、rown -
12、下列Python表达式的值为True的是 ( )A、not(3>2 or 'a'>'b') B、len('python') == max([2, 6, 1, 4, 7]) C、'3'+'2' > '13'+'12' D、7%8 == 1 or 19//5 == 4.5
-
13、射频识别(RFID)技术目前已普遍应用于社会各个领域。关于射频识别技术,下列说法不正确的是 ( )A、射频识别需要两大基本要素: 电子标签和 RFID 读写器 B、二代身份证、银行卡等内置的电子标签属于无源标签 C、射频识别技术是物联网的关键技术 D、NFC 技术由RFID 演变而来,是一种远距离高频的无线电技术
-
14、以下关于计算机软硬件说法正确的是 ( )A、中央处理器(CPU)主要由运算器和控制器组成 B、断电后,只读存储器(ROM)中的信息会丢失 C、计算机软件可分为系统软件、应用软件和工具软件 D、常用的计算机操作系统有Windows、iOS、Android等
-
15、以下关于信息系统说法不正确的是 ( )A、信息系统是指由硬件软件设施、通信网络、数据和用户构成的人机交互系统。 B、数据处理系统具有统一规划的数据库,信息高度集中,供各类用户共享 C、信息系统规范了工作流程,提高了工作效率 D、对外部环境的依赖是信息系统最大的局限性
-
16、新冠疫情的出现给送餐机器人行业按下了“加速键”,隔离酒店采用机器人送餐,可以减少感染风险。下列关于人工智能说法不正确是( )A、送餐机器人属于符号主义研究方法的人工智能 B、跨领域人工智能不仅依赖于已有规则,而且专注于知识和技能的获取 C、人工智能技术提高了生产力,创造出了全新产品和服务 D、随着人工智能的发展,机器人会取代高度重复的工作人员,同时也会产生新的工作岗位
-
17、有关大数据的说法,下列正确的是 ( )A、大数据一般用于分析抽样数据 B、大数据采集的数据都是结构化数据 C、大数据更加注重事物的相关性 D、用大数据进行处理时,必须保证每个数据都准确无误
-
18、下列关于数据、信息、知识的说法,正确的是( )A、数字是数据的唯一表示形式 B、在任何地方看到数据都能明确其含义 C、信息是数据经过存储、分析及解释后所产生的意义 D、只要获取足够的信息,就能掌握丰富的知识
-
19、为四则运算式“6+(8-2)*2÷3”转逆波兰表达“682-2*3÷+”设计算法,编程实现。
分析:在数学运算表达式中,运算符总是置于与之相关的两个运算对象之间,在计算结果时,要考虑括号、运算符号的优先性。为了程序实现的方便,波兰逻辑学家J.Lukasiewicz提出了另一种表示法,将运算符置于其运算对象之后,没有括号,不用考虑运算符号的优先性。这种表达式称为后缀表达式,又叫逆波兰表达式。
如表达式“682-2*3÷+”是四则运算式“6+(8-2)*2÷3”的逆波兰表达式。为了处理方便, 规定表达式中的数均为小于 10 的正整数, 运算符为+ - * ÷。
⑴抽象建模
设计两个栈bds、fh,栈bds用来存放表达式,栈fh用来暂时存放运算符。从左往右扫描四则运算式,遇到数字时,入栈bds;遇到运算符号时,根据运算符号的优先级设计进栈与出栈。
四则运算式“6+(8-2)*2÷3”转换规则的模拟过程如表1所示:
表 1结合表1的操作过程,用栈bds和栈fh记录每个操作后的栈内情况(见下图),那么在操作2中栈fh里有内容为(请从栈底到栈顶顺序书写)。
⑵设计算法
基于问题的抽象与建模,解决该问题的主要算法描述如下:
从左往右遍历四则运算式s(设中间变量为ch):
1)当ch是数字,直接入栈bds;
2)当ch是运算符:
a.若ch为左括号时,直接入栈fh;
b.若ch为右括号时,则将栈fh元素弹出,压入栈bds,直到遇到左括号(左括号只弹出,不压入栈bds);
c.若ch为其它运算符时,如果运算符ch优先级大于栈fh中栈顶元素的优先级(或栈fh为空),直接入栈fh;否则,将栈fh元素依次弹出,并压入栈bds,直到运算符ch优先级大于栈fh中栈顶元素的优先级(或栈fh为空);
3)将栈bds中元素依次出栈,即为该四则运算s的后缀表达式。
⑶编写程序
实现上述功能的 Python 代码如下,请在划线处填入合适代码。
yxj = {"+":1,"-":1,"*":2,"÷":2} #运算规则的优先级
s = input("请输入四则运算式: ")
fh = [""]*100 #存储运算符
topfh = -1
bds = [""]*100 #存储表达式
top=-1
for ch in s:
if ch.isdigit(): #字符串只包含数字则返回 True 否则返回 False
top+=1
bds[top]=ch
elif ch == "(":
topfh +=1
fh[topfh]=ch
elif ch == ")":
while True:
tmp = fh[topfh]
topfh-=1
if tmp=="(":
top+=1
bds[top]=tmp
elif ch in yxj:
if topfh==-1 or fh[topfh]=="(":
topfh += 1
fh[topfh]=ch
elif :
topfh+=1
fh[topfh]=ch
else:
while fh[topfh]!="(" and topfh!=-1:
if yxj[fh[topfh]]>=yxj[ch]:
top+=1
bds[top]=fh[topfh]
topfh-=1
else:
break
topfh+=1
while topfh!=-1:
top+=1
bds[top]=fh[topfh]
topfh-=1
print("后缀表达式:","".join(bds[:top+1]))
-
20、某数据压缩方法描述如下:
①原始数据中,某数不为0且相邻无重复,压缩数据用该数据表示;②原始数据中,某数为0且相邻无重复,压缩数据用两个数表示,第1个为0,第2个为0;③原始数据中,某数据相邻有重复,压缩数据用3个数表示:第1个为0,第2个为重复数的个数,第3个为该数本身。
根据上述压缩方法,对应的解压缩方法示例如图所示。
小明学习了Python的PIL、matplotlib和numpy等模块知识后,现有图像文件“台州.bmp”,该文件的颜色模式为RGB,将该图像文件的每个像素点转换成灰度值(值为整数)后,使用上述压缩方法进行压缩并保存为文本文件。颜色RGB值转灰度值的公式如下:
灰度值=0.299×红色颜色分量+0.587×绿色颜色分量+0.114×蓝色颜色分量
(1)、如果压缩数据为“23,0,21,66,0,0,77,0,5,0”,则解压缩数据的个数是。(2)、实现上述功能的Python程序如下。请在划线处填入合适代码。from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
img = np.array(Image.open("台州.bmp"))
row,cols,rgb = img.shape
s=[]
for i in range(row):
for j in range(cols):
r,g,b = img[i,j]
hdz =
s.append(hdz)
ss = []:j = 0
while j<len(s)-1:
if s[j]!=s[j+1]:
if s[j]!=0:
ss.append(s[j])
else:
ss.extend() #extend 函数用于在列表末尾一次性追加另一个序列中的多个值
j+=1
else:
c = s[j]
for k in range(j+1,len(s)) :
if c!=s[k]:
break
else:
ss.extend([0,k-j,s[j]])
j=k
if j!=len(s):
ss.append(s[j])
f = open("台州 255.txt","w+")
f.write(",".join(map(str,ss)))
f.close()