充值活动已开启,快来参与吧 关闭充值活动
当前位置:手动组卷 /高中信息技术 /按知识点
选择知识点
最新上传 最多使用
  • 1. (2024高二下·浙江期中)  某加密算法要求如下:

    ①小写英文字符按照英文字母“a”“b”……“y”“z”的排列顺序,取其前一个小写英文字符作为密文进行重组;

    ②规定小写英文字符“a”的前一个密文小写英文字符是“z”;

    ③其他字符按原字符连接;

    例如:明文“My@class”加密后的密文是“Mx@bkzrr”。

    实现上述功能的 Python 程序代码如下:

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

    ans = ""

    for i in ①____:

        

    print("密文结果为:", ans)

    1. (1) 运行代码,输入明文为:“LoongYear!”,则密文结果为:
    2. (2) 请在程序划线处填入合适代码。
    3. (3) 下列选项能替代虚线框部分,实现相同功能的是(单选,填字母)。

      A.

      if "a"<=i<="z":

          ans+=chr(ord(i)-1)

      else:

          ans+=i

      B.

      if "a"<=i<="z":

          ans+=chr((ord(i)-ord("a")+25)%26+ord("a"))

      else:

          else:

              ans+=i

      C.

      if "a"<=i<="z":

          ans+=chr((ord(i)-1)%26)

      else:

          ans+=i

      D.

      if "a"<=i<="z":

          ans+=chr((ord(i)-ord("a")+25)%26+ord("i"))

      else:

          ans+=i

  • 1. (2024高二下·浙江期中)  编写一个加密程序,功能如下:输入明文和一串数字密钥,显示加密后的密文,加密算法如下:

    ①将明文逆序排列,如明文“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. (1) 按照上述加密算法,经过数字密钥串处理后,字符“m”的密文是
    2. (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)

  • 1. (2024·) 有如下Python段程序:

    a = [ 6 , 12 , 9 , 20 , 8 , 11 , 4 ]

    for j in range( 1 , len( a ) ) :

        if  a[ j ] < a[ j - 1 ] :

     a[ j ] = a[ j ] + a[ j - 1 ] ;  a[ j - 1 ] = a[ j ] - a[ j - 1 ] ;  a[ j ] = a[ j ] - a[ j - 1 ]

    执行该段程序后,列表a的值是(   )

    A . [ 4 , 6 , 12 , 9 , 20 , 8 , 11 ] B . [ 4 , 6 , 8 , 12 , 9 , 20 , 11 ] C . [ 6 , 9 , 12 , 8 , 11 , 4 , 20 ] D . [ 6 , 9 , 8 , 11 , 4 , 12 , 20 ]
  • 1. (2024高二下·浙江期中)  下列程序功能为:根据列表lst中各数字的大小关系,计算各数字升序排列的序号,并将序号保存在列表y中。如lst内容为[2,5,2,1],程序运行后列表y的值为[2,4,3,1]。

    lst = [2,5,2,1]

    y = [1,1,1,1]

    n = len(lst)

    for i in range(①____):

        for j in range(②____):

            if ③____:

                y[j] = y[j] + 1

            else

                y[i] = y[i] + 1

    上述程序段3个划线处的表达式分别为(   )

    A . (1)n-1  (2)i+1  (3)lst[j] > lst[i] B . (1)n-1  (2)i+1  (3)lst[j] >= lst[i] C . (1)n   (2)0  (3)lst[j] >= lst[i] D . (1)n   (2)0  (3)lst[j] > lst[i]
  • 1. (2024高二下·浙江期中)  某面馆2024年2月订餐数据保存在文件“ddsl.xlsx”中,部分数据如图a所示,编写Python程序,统计2月订餐最多的3种菜品,并使用图表呈现统计结果(并列前三的菜品均显示),如图b所示。

    图a

    import pandas as pd

    df = pd.read_excel("ddsl.xlsx") #读文件中的数据

    df= df.drop(["日期","订单号","单价","金额"],axis=1) #删除列

    dfg = df.groupby("    ①    ",as_index= False).sum() #分组求和

    dfs =    ②

    plt.bar(dfs["菜品"], dfs["份数"])  #绘制柱形图

    #设置图表样式,显示图表代码略

    1. (1) 统计2月订餐最多的3种菜品,由图b可知,该面馆有个菜并列第三。

      图b

    2. (2) 请在程序划①线处填入合适代码。

    3. (3) 程序加框处应填入的正确代码为____(单选,填字母)。
    4. (4) 下列选项能实现划线②处功能的有____(多选,填字母)。
  • 1. (2023高二上·浙江期中) 哥德巴赫猜想是任一大于2的偶数,都可表示成两个素数之和。其中素数也叫质数,是指除了1和本身外,不能被其它整数整除的数。
    1. (1) 10可以看成哪两个素数之和
    2. (2) 下列程序用来验证 4-1000 之间的偶数是否符合哥德巴赫猜想,请完成划线处的填空:

      def isprime(m):

          i=2

          while i<=int(m**0.5):

              if:

                  return False

              i+=1

          return True

      for i in range(4, 1001, 2):

          flag=False

          for j in range(2, i):

              if:

                  print(str(i)+"验证成功")

                  flag=True

                  break

          if:

              print(str(i)+"验证失败")

    3. (3) 上述程序使用了哪种算法(单选,填字母:A .枚举算法 B .解析算法)
  • 1. (2023高二上·江苏会考) 请填空完善该程序

    实现功能:键盘上输入任意一个正整数,将其按冰雹猜想的规则进行拆解,输出每一步拆解的值和总步数,验证其是否符合冰雹猜想。

    冰雹猜想是指:一个正整数,如果是奇数就乘以3再加1,如果是偶数就对它除以2(如下图),这样经过若干次,最终回到1。无论这个过程中的数值如何庞大,就像瀑布一样坠落,在经过若干次的变换之后也必然会到纯偶数:4-2-1。

    N变为

    x=(input("请输入任一正整数:"))

    n=0

    while():

        if (x%2 != 0):

            x=

       else:

            x=int(x/2)

        print(, end=" ")

  • 1. (2023高二上·江苏会考) 请在横线处填写正确的代码。

    已知斐波拉契数列1,1,2,3,5,8,1321……其定义如下:

    f(a)=

    求斐波拉奖数列第n项的值。

    def f(n):   #定义递归函数

        if n==1 n==2:

            return 1

        else:

            return

    n=int(input("请输入正整数n的值:"))

    print()   #打印结果

  • 1. (2023高二上·江苏会考) 通过列举所有的可能破解密码,需要用到的算法是(   )。
    A . 递推 B . 递归 C . 穷举 D . 分治.
  • 1. (2023高二上·江苏会考) 请在横线处填写正确的代码

    求解如下分段函数的值。

    y=

    x=float(input("请输入x的值:"))

    if :

        y=-2*x-4

    x<10:

        y=(x+2)**0.5

    else:

        y=2**(x-1)

    print()

1 2 3 4 5 下一页 共202页