相关试卷

  • 1、 编写一个加密程序,功能如下:输入明文和一串数字密钥,显示加密后的密文,加密算法如下:

    ①将明文逆序排列,如明文“Python.org”,逆序后为“gro.nohtyP”;

    ②循环利用数字密钥串的每一位数字 k,依次对字符串中的每个英文字母右移 k 个字母替代,其他字符保持不变。如:输入的数字密钥串为“2024”,“gro.nohtyP”的“n”是第 4个字母,使用密钥串“2024”中的第 4个数字“4”进行右移 4个字母替代,即“n”往后移 4个字母,得到的是“r”,如下表所示:

    ③经过数字密钥串处理后,将字符串中的每个字符转换为 8位二进制 ASCII码值(不足 8位的左边补 0,补足 8位),并分成两段(左边 4位为高四位,右边 4位为低四位),如字符“i”的二进制 ASCII码值为 01101001,高四位为 0110,低四位为 1001;

    ④将高四位转化为十六进制数(如 0110转化为 6);

    ⑤将低四位与高四位执行异或(⊕)操作后转化为十六进制数(提示:0⊕0=0,0⊕1=1,1⊕0=1,1⊕1=0,如 1001⊕0110=1111,1111转化为 F);

    ⑥依次连接④⑤得到的两位十六进制数,即为该字符的密文,如“i”的密文为“6F”;

    ⑦将每个字符的密文按照顺序依次连接即为最终的密文。程序运行结果如图所示。

    实现上述功能的 Python程序如下,请回答下列问题:

    (1)、按照上述加密算法,经过数字密钥串处理后,字符“m”的密文是
    (2)、请在划线处填入合适代码。

    def xor(x,y): #两个一位二进制数异或

     if x==y:

     return "0"

     else:

     return "1"

    def DtoB(D): #十进制转 8位二进制,高位段和低位段根据规则处理

     B=""

     for i in range(8):

     r=D%2

     D=D//2

     B=str(r)+B

     for j in range(4):

     B=B[:j+4] ++ B[j+5:]

     return B

    mingw=input("请输入明文:")

    key=input("请输入数字密钥串:")

    mingw=

    miw="";pos=0

    for i in range(len(mingw)):

     if "A"<=mingw[i]<="Z" or "a"<=mingw[i]<="z":

     if "A"<=mingw[i]<="Z":

     t=ord("A")

     else:

     t=ord("a")

     miw+=chr((ord(mingw[i])-t+int(key[pos]))%26+t)

            

     else:

     miw+=mingw[i]

    new=""

    for i in range(len(miw)):

     new+=DtoB(ord(miw[i]))

     hex="0123456789ABCDEF";result="";

     for i in range(0,len(new),4):

     n=int(new[i])

     for j in range(1,4):

     n=n*2+int(new[i+j])

            

    print("密文为:",result)

  • 2、 小明打算结合micro:bit,编写一个口算练习程序,实现随机产生九九乘法口诀中的乘法或两数之和不大于 100的加法。具体功能如下:

    ①在电脑端输入出题数量n,依次生成 n道题目,每道题随机给出乘法或加法。

    ②每回答一道题时,若正确,则在 micro:bit端 LED阵列显示“笑脸”,否则显示“哭脸”。

    ③答完n道题目后,电脑端显示共练习了几道题,其中有几题回答正确。

    电脑端程序:

    import random

    import serial

    ser=serial.Serial()

    ser.baudrate=115200

    ser.port="COM4"

    ser.open()

    c=0;i=1

    n=int(input("请输入题目数量:"))

    while i<=n:

     r=random.randint(0,1)

     if r==0:

     a=random.randint(1,9)

     b=random.randint(1,9)

     print(str(a)+"×"+str(b)+"=")

     else:

     a=random.randint(10,99)

     b=random.randint(1099)

     while ①____:

     a=random.randint(10,99)

     b=random.randint(10,99)

     print(str(a)+"+"+str(b)+"=")

     ans=int(input("请输入答案:"))

     if r==0 and a*b==ans or r==1 and a+b==ans:

     ser.write("H".encode())

     c=c+1

     else:

     ser.write("S".encode())

     i=i+1

    print("共练习了"+str(n)+"题,其中有"+str(c)+"题回答正确。")

    micro:bit端程序:

    from microbit import *

    while True:

     if uart.any():

     incoming=str(uart.read(),"UTF-8")

     if :

     display.show(Image.HAPPY)

     else:

     display.show(Image.SAD)

    (1)、请在划线①处填入合适的代码,完成电脑端程序。
    (2)、结合电脑端程序分析,电脑端程序与 micro:bit通过串口号进行通信
    (3)、micro:bit端程序中加框处代码与题意不符,请改正。
    (4)、为了方便多人通过网页直接进行口算练习,小明计划利用 Flask Web 框架开发网页版。服务器 IP地址为:192.168.10.109,Web服务端口为 8081。网站功能页面规划如下:

    序号

    访问地址

    功能说明

    1

    /

    主页,口算练习主要页面

    2

    /login

    登录页,校对输入的用户名和密码是否正确。如正确则跳转到主页。

    3

    /history

    历史记录页,显示用户自己答题的记录。

    4

    /wrong

    错题页,显示用户自己错误的题目及高频错题。

    根据网站页面规划,至少需要设计个视图函数。其中,访问错题页的URL是http://

  • 3、 学校气象社团的小丽同学收集了当地 2023 年全年的天气数据,数据存储在“天气数据.xlsx”文件中,部分数据如图a所示。

    图a

    为分析该年部分气温情况,编写 Python程序,请回答下列问题:

    (1)、计算 2023年的日均气温, 输出全年日均气温的最高值及出现日均气温最高值的所有日期,输出结果如图b所示。

    图b

    实现该功能的程序如下,请在划线①处填入合适的代码。

    划线②处应选填入的代码为(单选,填字母)。

    A .df1 B .df1.values C .df1.index

    import pandas as pd

    df=pd.read_excel("    ①    ")

    df["日均温"]=(df["最高气温℃"]+df["最低气温℃"])/2

    df1=df.sort_values("日均温",ascending=False).日均温.head(1)

    Max=    ②

    date=[ ]

    for i in range(len(df)):

     if df.at[i,"日均温"]==Max:

     date.append(df.at[i,"日期"])

    print("日均温最高值:"Max,"℃")

    print("日期:",date)

    (2)、统计月平均气温(当月每天日均气温的平均),并绘制如图c所示的线形图,实现该功能的程序如下,请在划线③、④处填入合适的代码。

    图c

    df["月份"]=""

    for j in range(len(df)):

     df.at[j,"月份"]=df.at[j,"日期"][5:7]

    df2=df.groupby("月份",as_index=True).③

    plt.plot(④,df2["日均温"],label="月均温" )

    plt.xlabel("月份")

    plt.ylabel("温度℃")

    plt.legend()

    plt.show()

  • 4、 有如下 Python程序段:

    import random

    a=[0]*6

    for i in range(6):

     a[i]=random.randint(1,10) #随机生成 1到 10范围内的整数

    for i in range(5):

     if i%2==0 and a[i]>a[i+1]:

     a[i],a[i+1]=a[i+1],a[i]

     else:

     a[i]+=1

    print(a)

    执行该程序段后,a的值可能的是(   )

    A、[11,11,7,9,3,9] B、[6,2,8,10,5,9] C、[6,9,3,7,8,12] D、[3,9,0,8,2,7]
  • 5、 有如下Python程序段:

    s="78.166.97.89."

    n=len(s);c="";max=""

    for i in range(n):

     if "0"<=s[i]<="9":

     c=s[i]+c

     else:

     if c>max:

     max=c

     c=""

    print(max)

    执行该程序后,输出的结果是(   )

    A、166 B、98 C、97 D、87
  • 6、 有如下 Python程序,实现求字符串中的最长连续上升子串的长度。例如:字符串“hellopython”中的最长连续上升子串是“lopy”,长度为 4。

    s=input()

    n=len(s);c=1;max=1

    for i in range(1,n):

     if (1)____:

     c=c+1

     if c>max:

     max=c

     else:

    (1)、print(max)

    划线处可选代码为①c=1 ②c=0 ③s[i]<s[i+1] ④s[i]>s[i-1]

    划线处正确的语句依次为(   )

    A、③① B、③② C、④① D、④②
  • 7、 有如下 Python程序段:

    if x>y:

     f=False

    else:

     f=True

    下列语句中与上述程序段功能相同的是(   )

    A、f=x>y B、f=x>=y C、f=x<y D、f=x<=y
  • 8、 某算法的部分流程图如下图所示,执行这部分流程,则输出的 f1,f2的值分别是(   )

    A、2,4 B、4,8 C、8,32 D、32,256
  • 9、 谷歌 DeepMind近日推出人工智能 MuZero。MuZero使用了可自我学习的高性能机器学习模型,在国际象棋、围棋、将棋、Atari游戏等领域的表现超越人类。现在,科学家已经将MuZero计算机算法应用于优化视频压缩这一新的领域。结合上述材料,下列关于人工智能的说法正确的是(   )
    A、MuZero“自我学习”的学习机制,属于符号主义的人工智能 B、从游戏人工智能跨界到优化视频压缩领域,属于领域人工智能的应用 C、“超越人类”的描述说明当前人工智能已经具备人类的一切能力 D、MuZero的成功应用预示着人工智能推动着人类社会的发展
  • 10、 下列关于数字化的说法,正确的是(   )
    A、每个汉字的输入码是唯一的 B、将模拟信号转换成数字信号一般需要经过采样、量化与编码 C、录音时说话声音越大,音频文件占用的存储空间也越大 D、ASCII码共有128个字符,十进制编码范围从1到128
  • 11、 下列关于计算机网络的说法,不正确的是(   )
    A、网际协议(IP)用于将信息从一个地方传送到另一个地方 B、URL用于在因特网中定位文件,一般由网络协议、服务器地址、文件名三部分组成 C、无线网络中的数据通信不需要传输介质 D、网络可以实现网络中的数据资源共享,也可以实现软硬件资源共享
  • 12、 某校使用“智能门禁系统”,师生可通过刷校园卡、人脸识别等方式过闸机进出校园,学生进出寝室时通过摄像头刷脸签到,并将采集到的数据存储在服务器的数据库中。宿舍管理员可以使用手机客户端通过短信验证、指纹识别等身份认证方式登录该系统,实时查看宿舍的考勤情况。
    (1)、下列关于该信息系统组成与功能的说法,正确的是(   )
    A、智能门禁系统属于系统软件 B、该系统的用户只有教师、学生、宿舍管理员 C、该系统的硬件包括闸机、摄像头、服务器、数据库等 D、该系统具有数据采集、存储和处理等功能
    (2)、刷校园卡进出校园使用了RFID技术,以下说法不正确的是(   )
    A、RFID属于通信技术,也属于传感器技术 B、作为 RFID两大基本元素之一的读写器是接收端 C、校园卡为无源电子标签,具有唯一的电子编码 D、刷校园卡需要在有效距离内,说明RFID仅能在近距离(10cm)内传输信号
    (3)、下列关于该信息系统安全的说法,不正确的是(   )
    A、为了管理方便,对学生、教师、宿舍管理员设置相同的访问权限 B、短信验证属于动态口令验证方式,能够有效防止数据资源被非授权使用 C、对学生考勤数据进行加密处理可以提高数据的安全性 D、服务器安装防火墙可以有效地阻挡外部网络的攻击
  • 13、 “2024年跳水世界杯蒙特利尔站比赛3月3日在加拿大蒙特利尔奥林匹克中心游泳馆落幕。中国跳水队包揽全部金牌,以9金1银2铜的成绩位列奖牌榜第一”综合上述报道,下列关于数据、信息与知识的说法,正确的是(   )
    A、通过网络发布该信息无需载体 B、“9金 1银 2铜的成绩位列奖牌榜第一”该段文字就是信息 C、上述报道发布在一个月前,在今天来看仍然具有价值性 D、不同的人根据上述报道所构建的知识肯定是相同的
  • 14、 某平台新上架影片推荐度的计算方式为:由 5 位专业评审与 5 位大众评审给影片评分,评分区间为[1,10],将专业评审均分的 60%与大众评审均分的 40%求和并取整,根据得分确定等级(分值与等级的关系如图 a 所示)。评委打分情况如图 b 所示,“A”表示专业评审,“B”表示大众评审,“A1-5”表示第 1 位专业评审给出 5 分。

    图 a

    图 b

    请回答下列问题:

    (1)、若专业评审均分为 5,大众评审均分为 6,则该影片等级为(填数字)颗星。
    (2)、实现上述功能的部分 Python 程序如下,请在划线处填入合适的代码。

    f=open("dc.txt",encoding="utf-8")

    line=f.readline()

    pro,pub=0,0

    # 读取第一行,保存在字符串 line 中

    while line: # 当 line 非空

        x=

        t=int(line[3:])

        if x=="A":

            pro+=t

        

            

            line=f.readline() # 继续读取一行

    score=int(pro/5*0.6+pub/5*0.4)

    grade= 

    print("推荐度为:","★"*grade)

    (3)、若“dc.txt”文件中无异常数据,写出与加框处代码功能相同的语句
  • 15、 自幂数:一个n位数,如果每一位上的n次幂之和等于它本身,那么该数就是自幂数。下列Python代码可以实现输入数字长度n之后,输出所有n位自幂数,并统计个数。程序运行结果如下。

    (1)、根据题意,1632(填,是/不是)自幂数。
    (2)、实现查找n为自幂数的Python程序如下,请在划线处填入合适的代码。

    n=int(input("请输入要查找的自幂数位数:"))

    count=total=0

    for i in range(1*10**(n-1),1*10**n):

     a=i

     while a>0:

     total+=

     a=a//10

     if i==total:

     count+=1

     print(i)

        

    print(str(n)+"位自幂数一共有"++"个")

  • 16、 小南设计了一个用于判定素单词的Python程序。判断素单词的规则如下:

    Ⅰ.设定小写字母a—z对应的数字为1—26,大写字母A—Z对应的数字为27—52。

    Ⅱ.将某个单词的所有字母按照其对应的数字求和,

    Ⅲ.若和为素数(质数)则判断为素单词,否则不是。

    如单词“Hello”,字母分别对应的数字为:34、5、12、12、15,其和为34+5+12+12+15=78,不是素数,因此单词“Hello”不是素单词。

    (1)、根据题意,当输入单词“Love”,输出的结果是(填字母:A .Love是素单词/B .Love不是素单词)
    (2)、实现素单词判断的python程序如下,请在划线处填入合适代码。

    def is_Prime(number):#判断number是否为素数

    flag=True

    for k in range(2,number):

     if :

     flag=False

     break

    return flag

    s=input("请输入一个单词:")

    total=0

    for i in range(len(s)):

     ch=s[i]

     if "A"<=ch<="Z":

     total=

     elif "a"<=ch<="z":

    #将小写字母转换为对应的数字并累加至变量total中,代码略

    if 

     print(s,"是素单词")

    else:

     print(s,"不是素单词")

  • 17、 有如下Python程序段:

    a=[21,3,4,5,9,14,23]

    c,m=0,0

    for i in range(2,len(a)):

     if a[i-2]+a[i-1]==a[i]:

     c+=1

     if c>m:

     m=c

     else:

     c=0

    print(m)

    执行程序后,输出结果是(   )

    A、0 B、1 C、2 D、3
  • 18、 用python程序处理图像文件“chenchen.jpg”,该图像颜色位深度为24bit,图像如图所示:

    程序代码如下:

    from PIL import Image

    import numpy as np

    import matplotlib.pyplot as plt

    img=np.array(Image.open("chenchen.jpg").convert("L"))

    rows,cols=img.shape

    for i in range(rows):

        for j in range(cols):

            if():

                img[i,j]=1

            else:

                img[i,j]=0

    plt.imshow(img,cmap="gray")

    plt.show()

    下列说法正确的是(    )

    A、待处理图像的文件名为“chenchen” B、处理后的图像像素数将增加 C、将加框处语句中的“>”改为“<=”,则处理后的图像中黑白色将互换 D、将加框处语句中128改为188,则处理后图像中的黑色部分将减少
  • 19、 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13. . . 求出这个数列的前 n 项之和。

    n = int(input())

    a,b,num = 2,1,2

    for i in range(n-1):

        

    print(num)

    方框中的代码由以下三部分组成:①num += a / b ②a = a + b ③b = a - b代码顺序正确的选项是(   )

    A、①②③ B、②③① C、②①③ D、③②①
  • 20、 有如下 Python 程序段:

    s,n=0,8

    while True:

        s+=n

        if s>14:

            break

        n-=2

    print(n,s)

    执行程序后,输出结果可能是(   )

    A、2 18 B、4 18 C、6 14 D、6 18
1 2 3 4 5 下一页 跳转