相关试卷

  • 1、为了便于电报通讯,摩尔斯发明了摩尔斯电码表。它是将大写英文字符这样的“明码”翻译成由“.”和“-”两种符号构成的“电码”的表格。如图所示,电文“.../---/...”(“/”为分隔符)对应的英文是“SOS”。

    现编写Python程序,将输入的电码翻译成对应的英文字符。

    程序代码如下,请回答下列问题。

    mosi=[['A','.-'],['B','-...'],['C','-.-.'],['D','-..'],['E','.'],['F','..-.'],['G','--.'],['H','....'],['I','..'],['J','.---'],['K','-.-'],['L','.-..'],['M','--'],['N','-.'],['O','---'],['P','.--.'],['Q','--.-'],['R','.-.'],['S','...'],['T','-'],['U','..-'],['V','...-'],['W','.--'],['X','-..-'],['Y','-.--'],['Z','--..']]

    def change(code):

           for i in range(26):

                 if mosi[i][1]==code:

                        return ①

    morse=input('请输入摩斯电码(电码之间用“/”分隔):')

    j=0

    s=''

    for i in range(len(morse)):

           if morse[i]=='/':

                 ②

           s=s+ change(tmp)

    if morse[-1]!='/':

           s=s+ change(morse[j:i+1])

    j=③

    print(s)

    (1)请在划线处填入合适的代码。

    (2)阅读以上程序,如果删除加框处代码,当输入电文“.../---/...”后,输出结果为:

  • 2、“奇校验”是一种检验数据在传输过程中是否出错的方法。例如要传输一个ASCII字符“A”,先得到“A”的内码值65D,再转成2进制形式的内码值1000001B, 如右图所示,该二进制内码值就是图中的“数据位”内容。由于该“数据位”里共有2个“1”,于是在“数据位”前加上一个字符“1”作为“校验位”,从而保证该“奇校验码”内有奇数个“1”。

    转换过程:“A”“1000001”“11000001”。

    如果“数据位”里已经是奇数个“1”,则将字符“0”作为“校验位”加在“数据位”前。

    小明编写了一个输入ASCII码字符,生成该字符对应的奇校验码的Python程序。

    程序代码如下,请回答下列问题。

    ch=input('请输入一个ASCII码字符:')

    ans=0

    s=''

    x=ord(ch)

    while :

           ans=①       

           s=str(x%2)+s

           ②       

    if ans%2==1:

           ③       

    else:

           s='1'+s

    print('生成的奇校验码为:',s)

    (1)已知“3”的ASCII码值为33H,则它的奇校验码是“1100001”。(判断)

    (2)请在划线处填入合适的代码。

    (3)加框处代码有错,请改正。

  • 3、有如下Python程序:

    import random

    flag=[0]*6

    lst=[]

    while sum(flag)!=5: #此处sum()函数用于计算列表flag中各元素值的总和

           a=random.randint(1,5)

           lst.append(a)     #此处append()方法用于在列表lst末尾添加新的对象a

           flag[a]=1

    print(lst)

    执行该程序段后,列表lst可能的值是(     )

    A、[1,5,3,4,5,1,2] B、[5,3,2,6,3,1,2] C、[2,3,2,4,3,1,2,5,4] D、[1,2,3,4,5,1]
  • 4、哥德巴赫猜想:任意一个大于等于4的偶数,都可以用两个素数之和表示。素数就是一个大于等于2的整数,并且只能被1和本身整除,而不能被其他整数整除的数。如:4=2+2,6=3+3,8=3+5,10=5+5,12=5+7,98=17+79。

    现编写一个验证哥德巴赫猜想的Python程序,横线处合适的语句是(     )

    def prime(num):

           for i in range(①___):

           if num%i==0:

                 ②___

           return True

    a=int(input('请输入一个大于等于4的偶数:'))

    for i in range(2,a):

           j=a-i

           if ③____:

                 print('YES')

                 print(str(a)+'='+str(i)+'+'+str(j))

                 break

    A、①2,num   ②return False   ③prime(i) and prime(j) B、①2,num   ②return True   ③prime(i) and prime(j) C、①2,num+1   ②break   ③not prime(i) and not prime(j) D、①2,num+1   ②return False   ③not prime(i) and not prime(j)
  • 5、根据下表的命令提示,以下 Python 程序代码运行后,画出的图形是(     )

    命令

    功能

    turtle.forward(distance)

    向当前画笔方向移动 distance 像素长度

    turtle.right(degree)

    当前画笔方向顺时针转动 degree°

    turtle.left(degree

    当前画笔方向逆时针转动 degree

    import turtle

    t=turtle.Pen() #画笔初始方向为正右方

    t.right(90)

    lengh=20

    for i in range(6):

           t.forward(lengh)

           t.left(90)

           lengh=lengh+20

    turtle.done()

    A、 B、 C、 D、
  • 6、BMI指数是世界卫生组织(WHO)目前常用于判断体重是否标准的简单方法,计算方法为:BMI=2

    BMI值的标准:BMI低于18.5为偏瘦,BMI介于18.5到25之间为标准;BMI高于25为超重。小明计算出正确BMI值后,编写代码根据BMI值判断体重是否标准,选项中正确的是(     )

    A.

    s="偏瘦"

    if BMI>25:

            s="超重"

    elif BMI<=25:

            s="标准"

    B.

    s="标准"

    if BMI>25:

           s="超重"

    elif BMI<18.5:

           s="偏瘦"

    C.

    if 18.5<=BMI<=25:

           s="标准"

    if BMI>25:

           s="超重"

    else:

           s="偏瘦"

    D.

    if BMI>25:

    s="超重"

    if 18.5<=BMI<=25:

           s="标准"

    else:

           s="偏瘦"

    A、A B、B C、C D、D
  • 7、BMI指数是世界卫生组织(WHO)目前常用于判断体重是否标准的简单方法,计算方法为:BMI=2

    BMI值的标准:BMI低于18.5为偏瘦,BMI介于18.5到25之间为标准;BMI高于25为超重。小明编写了一个Python程序计算BMI值,哪个选项填入横线处算出的BMI值是错误的(     )

    函数名

    功能

    math.pow(x,y)

    指数运算,得到x的y次方

    部分代码如下:

    import math

    sg=float(input('请输入身高(米):'))

    tz=float(input('请输入体重(公斤):'))

    BMI=       

    A、tz/sg/sg B、tz/math.pow(sg,2) C、tz/sg**2 D、tz/sg*sg
  • 8、已知字符串s="abcABC123",结果为False的是(     )
    A、chr(ord(s[0])+2)=='c' B、s[-1]>s[-3:] C、s[-1]==int(s[-1]) D、len(s)//4==2
  • 9、某算法的部分流程图如图所示,执行这段流程,输出的i,cnt值分别是(     )

    A、20,6 B、21,7 C、21,6 D、20,7
  • 10、下列关于数据管理与安全和大数据问题,不正确的是(     )
    A、大数据的数据量庞大,价值密度低 B、结构化数据可以用传统数据库技术进行管理 C、购物网站的个性化推荐,体现了大数据更加关注事物的相关性,而非因果关系 D、数据校验主要是为了保证数据不被泄露
  • 11、一张未经压缩的BMP格式图像,相关信息如图所示。该图像每个像素的色彩位数是(     )

    文件类型:BMP图像

    总像素: 1024*768

    图像容量:2.25MB

    A、24 B、32 C、256 D、8
  • 12、下列关于数制的说法正确的是(     )
    A、7位2进制数的最大值是128D B、二进制数的末尾加一个“0”,其值为原来的10倍 C、某十进制数为奇数,该数转成二进制数后,末位一定是1 D、二进制数1011110B转成十六进制数是5FH
  • 13、使用UltraEdit软件查看字符的内码,部分界面如图所示:

    以下说法正确的是(     )

    A、图中共有4个ASCII字符 B、“!”的内码是A1 C、图中字符共占16位存储空间 D、“10”的内码是3A
  • 14、下列关于数据、信息、知识与智慧的描述正确的是(     )
    A、数据“3.14”一定指的是圆周率的近似值 B、人们可以借助搜索引擎获取海量的知识 C、智慧主要表现为收集、加工、应用、传播知识的能力以及对事物发展的前瞻性看法 D、信息在传递过程中会发生损耗
  • 15、某公路绿化带内等间距种了75棵树木,路政部门按种树位置依次从1~75编制路段序号。因台风致使部分树木被吹倒,为了尽快补种树木恢复道路通行,路政部门决定对部分路段进行管制。

    现有m对路障标志,每对路障标志管制一组序号连续的路段,请编写Python程序,协助路政部门设计一套路障管制方案,使得被管制的路段序号总个数最少。程序运行如图所示。

    请回答下列问题:

    (1)定义如下process(data)函数,列表 data中的元素表示需要补种树木的路段序号,如data=[2,3,4,7,13,14]。函数功能是将列表data中连续的序号处理成区间形式并返回,处理后的结果为:[[2,4],[7,7],[13,14]]。

    def process(data):

           n = len(data)

           a = []; st = data[0]

           for i in range(1,n):

                 if data[i] != data[i - 1] + 1:

                        a.append([ st,data[i - 1]])

                        st = data[i]

           a.append([ st,data[-1]])

           return a

    若 data为[3,4,5,7,8,9,12,13],调用process(data)后,函数返回列表a为

    (2)定义如下merge(a)函数,函数功能是从列表a中选择两个相邻区间进行合并,使得合并后的路段序号总个数最少,若有多组合并方案,则优先合并路段序号较小的区间。

    请在划线处填入合适的代码。

    def merge(a):

           k = 1

           mint =

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

                 if a[i][0] - a[i - 1][1] < mint:

                        mint = a[i][0] - a[i - 1][1]

                        k = i

           a[k - 1][1] = a[k][1]

           a.pop(k)       # 删除列表 a 中索引为 k 的元素

           return a

    (3)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。

    def show(a):

           n = len(a); cnt = 0

           for i in range(n):

                 print("第" + str(i + 1)+ "对路障管制范围:",a[i][0],"~",a[i][1])

                 cnt +=①

           print("管制路段总个数为" + str( cnt) + "个,使用路障" + str(n) + "个")

    m = int( input("请输入可用的路障标志数量对:"))             # 最多可使用m对路障标志

    #读取待补种的路段序号,路段序号为不重复的整数类型且构成升序,将其存入data,代码略

    a = process(data)

    k =②

    while k > 0:

           a = merge(a)

           k - = 1

    show(a)

    (4)若data为[3,4,5,7,8,9,12,13],共有2对路障标志,执行上述程序后,则需管制的路段序号总个数为个。

  • 16、某学校开展十佳社团评比,社团各项得分情况存储在 Excel文件中,如图a所示。小李编写Python程序对该文件进行加工处理。请回答下列问题:

                                                              图a

    (1)计算各社团总分,计算规则为:

    总分=内部管理*0.3 +活动开展*0.25 +宣传与影响力*0.2 +风采展示*0.25部分Python程序如下,请在划线处填入合适的代码。

    import pandas as pd

    import matplotlib. pyplot as plt

    #设置中文字体等,代码略

    df = pd. read_ excel("score. xlsx")

    df["总分"] =

    (2)通过对数据分析,小李发现各社团总分均不相同,且满意度不低于70的社团数量超过10个。为评选十佳社团,设置评比条件如下:

    ①社团满意度必须达到70及以上;②按总分从高到低选择前十个社团。

    下列选项中,能实现该评比条件的代码是。(多选,填字母)。

    A.df1 = df [ df.满意度 >= 70]

    df2 = df1. sort_ values("总分",ascending = True). head(10)

    B.df1 = df [ df.满意度 >= 70]

    df2 = df1. sort_ values("总分",ascending = False). head(10)

    C.df1 = df [ df["满意度"] >= 70]

    df2 = df1. sort_ values("总分",ascending = True). tail(10)

    D.df1 = df [ df["满意度"] >= 70]

    df2 = df1. sort_ values("总分",ascending = False)[0:10]

    (3)小李根据十佳社团总分,绘制了柱形图如图b所示,部分Python程序如下,请在划线处填入合适的代码。

    x = df2.社团名称

    y =

    plt. ylim(75,86)                         # 设置y轴取值范围

    plt. title("十佳社团总分情况")                              # 设置图表标题文字

    plt. bar(x,y)                              # 绘制图表

    plt. show()

           

                                          图b                                                                                图c

    (4)为了解每一单项最高分对应的社团(若某单项最高分有多个社团,则均需输出),结果如图c所示。部分Python程序如下,请在请在划线处填入合适的代码。

    for i in df. columns[1:6]: #依次对各个单项进行遍历

           mmax = df[i]. max()     #通过 max()函数获取每一列的最高值

           for j in range(len(df)):

                 if ①:

                        print(i + "分值最高为: " + df.社团名称[j] + str(②) + "分")

  • 17、某研究所新研发了一种药性极强的试剂,仅需少量试剂就能将A病毒全部灭活。研究员小吴不慎将一瓶试剂混入到99瓶蒸馏水中。由于试剂瓶与蒸馏水瓶外观相同,且无色无味与蒸馏水无差异。为找出该试剂瓶,小吴设计了一种查找方法:

    ①将100个试剂瓶按0~99依次进行编号;

    ②对编号后的试剂瓶进行分组,将编号的个位(或十位)相同的试剂瓶归入一组(例如,组3中10个试剂瓶编号的个位相同,分别是:3、13、23、……、93);

    ③从每组各试剂瓶中取等量液体加到有A病毒的器皿中,再检测器皿中A病毒存活状态;如图所示,检测发现组2和组16中的A病毒全部灭活。可推断出试剂编号是62。

    分组

    组0

    组1

    组2

    组3

    组4

    组5

    组6

    组7

    组8

    组9

    A病毒

    组10

    0

    1

    2

    3

    4

    5

    6

    7

    8

    9

    组11

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    组12

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    组13

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    组14

    40

    41

    42

    43

    44

    45

    46

    47

    48

    49

    组15

    50

    51

    52

    53

    54

    55

    56

    57

    58

    59

    组16

    60

    61

    试剂

    63

    64

    65

    66

    67

    68

    69

    灭活

    组17

    70

    71

    72

    73

    74

    75

    76

    77

    78

    79

    组18

    80

    81

    82

    83

    84

    85

    86

    87

    88

    89

    组19

    90

    91

    92

    93

    94

    95

    96

    97

    98

    99

    A病毒

    灭活

    (1)参照上图,若A病毒灭活的是组6和组18,可推断出试剂编号为

    (2)实现上述查找方法的Python程序代码如下,请在划线处填入合适的代码。

    import random as rd

    data = [0] * 100               # 列表data中的元素值为0表示试剂瓶中是蒸馏水

    data[       ] = 1             # 随机生成试剂瓶的编号,将值设置为1

    row = [0] * 10; col = [0] * 10

    for i in range(10):

           for j in range(10):

                 row[i] +=①

                 col[i] += data[10 * j + i]            # col[i]对应图中第i列

    x = 0; i = 0

    while i < 10:

           if row[i] != 0:

                 x = i

                 break

           i += 1

    y = 0; i = 0

    while i < 10:

           if ②:

                 y = i

                 break

           i += 1

    print(③)   # 输出试剂瓶编号

    (3)随机生成试剂瓶的编号,并将其值设置为1,则在语句“data[       ]=1”中应填入的是(单选,填字母:A.rd. randint(0,99)/B.random. randint(0,99)/C.random(0,99))。

  • 18、循环同构字符串:将字符串s1的头尾相连成环,再从其中某处断开得到字符串s2。若s2不等于s1,则s2为s1的循环同构字符串。例如字符串s1=“abcd”,则“bcda”、“cdab”、“dabc”均为s1的循环同构字符串。现编写程序判断两个字符串是否为循环同构字符串:

    s1 = input()

    s2 = input()

    for i in range(1,len(s1)):

           

           if s2 == tmp:

                 

    if flag:

           print("是循环同构字符串")

    else:

           print("不是循环同构字符串")

    程序中方框处的可选代码为:

    ①flag = False   ②flag = True   ③tmp = s1[i : len(s1)] + s1[ : i]   ④tmp = s1[i+1 : len(s1)] + s1[ : i]

    若要实现上述功能,程序段方框中(1)(2)(3)应填入的代码顺序为(     )

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

    scores = [82,9,47,92,38,82,58,91]

    dic = {}

    for m in scores:

           k = m // 10

           if k < 5: k = 5

           if k in dic:                                # 若键k在字典dic中

                 dic[k] += 1

           else:

                 dic[k] = 1

    print(dic[5])

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

    A、1 B、3 C、4 D、5
  • 20、有如下Python程序:

    a = [56,174,81,9,213,13]

    b = [0,0,0,0,0,0]

    for i in range(len(a)):

           for j in range(len(a)):

                 if a[i] > a[j]:

                        b[i] += 1

    print(b)

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

    A、[2,4,3,0,5,1] B、[2,4,1,0,3,5] C、[3,1,4,5,2,0] D、[3,1,2,5,0,4]
上一页 14 15 16 17 18 下一页 跳转