• Python软件编程等级考试三级——20220618


    Python软件编程等级考试三级——20220618

    理论

    单选题

    1、 如下所示的2行代码,最后print()函数打印出来的结果是?

    c = [['赵大',21,'男','北京'],['钱二',20,'男','西安'],['孙三',18,'女','南京'],['李四',20,'女','杭州']]
    print(c[1][3])
    
    • 1
    • 2
    A、女
    B、北京
    C、西安
    D、男
    
    • 1
    • 2
    • 3
    • 4

    2、要读取下图“书目.csv”文件的全部内容,小明编写了后面4行代码。请问,红色①处,应该填写哪种打开模式?
    在这里插入图片描述

    f = open("书目.csv" ,)
    a = f.read()
    print(a)
    f.close
    
    • 1
    • 2
    • 3
    • 4
    A、"w"
    B、"a"
    C、"r"
    D、"a+"
    
    • 1
    • 2
    • 3
    • 4

    3、图所示,有一个名为"书目.csv"的文件。小明针对这个文件编写了5行代码,
    请问,代码运行到最后打印在屏幕上的结果是?

    在这里插入图片描述

    with open('书目.csv', 'r', encoding='utf-8') as f:
        for line in f.readlines():
            a = line.split(",")
            if a[0] == "水浒传" :
                print(a[1])
    
    • 1
    • 2
    • 3
    • 4
    • 5
    A、老残游记
    B、172
    C、55
    D、70
    
    • 1
    • 2
    • 3
    • 4

    4、小明编写了下列4行代码,请问,代码运行到最后,屏幕上打印出来的结果是?

    a = ['a','b','c']
    b = [1,2,3]
    c = [b,a]
    print(c[1][0])
    
    • 1
    • 2
    • 3
    • 4
    A、1
    B、a
    C、'1'
    D、'a'
    
    • 1
    • 2
    • 3
    • 4

    5、下图左边的“身体素质.csv”文件,要打印成下图右边的效果,每个字段之间相隔一个TAB键的距离。小明编写了如下代码,请选择:代码中横线处的内容?
    在这里插入图片描述

    f = open('身体素质.csv', 'r')
    a = []
    for i in f:
        a.append(i.strip('\n').split(','))
    f.close
    for x in a:
        line=''
        for y in x:
            line += '{ }    '.format(y)
        print(line)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    A、\t
    B、\n
    C、\a
    D、\r
    
    • 1
    • 2
    • 3
    • 4

    6、在Python异常处理结构中,如果程序执行没有遇到异常(错误),不会执行什么关键字后面的语句体?

    A、try
    B、except
    C、else
    D、finally
    
    • 1
    • 2
    • 3
    • 4

    7、运行下列程序,输出的结果是?

    try:
        a=int(input())
        b=int(input())
        r=a/b
        print('商是:',r)
    except:
        print('错误')
    else:
        print('正确')
    finally:
        print('结束')
    
    当输入:
    16
    8
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    A、错误
    B、商是:2.0
       正确
    C、商是2
       正确
       结束
    D、商是2.0
       正确
       结束
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    8、Python中将十进制20转化成八进制,我们可以使用下列哪个表达式?

    A、bin(20)
    B、int(20)
    C、oct(20)
    D、hex(20)
    
    • 1
    • 2
    • 3
    • 4

    9、下列进制转换,正确的是?

    A、0x14转化为十进制,结果是20
    B、20转化成八进制,结果是0o20
    C、0x14转化为十进制,结果是22
    D、20转化成八进制,结果是0o30
    
    • 1
    • 2
    • 3
    • 4

    10、关于二进制、八进制、十六进制与十进制相互转换,下列说法正确的是?

    A、十六进制转化为十进制,可以使用除16求余数,再顺序输出
    B、二进制转化为十进制,可以使用除2求余数,再逆序输出
    C、十六进制转化为十进制,可以使用除16求余数,再逆序输出
    D、n位二进制能表示的最大十进制数是2的n次方减一
    
    • 1
    • 2
    • 3
    • 4

    11、将十进制2022转化成十六进制,可以使用下列哪个表达式?

    A、bin(2022)
    B、int(2022)
    C、oct(2022)
    D、hex(2022)
    
    • 1
    • 2
    • 3
    • 4

    12、abs(-4.8)运行的结果是?

    A、4.8
    B、-4
    C、-5
    D、5
    
    • 1
    • 2
    • 3
    • 4

    13、关于ord( )函数与chr( )函数,下列说法正确的是?

    A、ord()函数的参数是整数
    B、ord()函数的参数是字符串类型
    C、chr()函数的参数是字符串类型
    D、chr()函数返回的数据类型是int
    
    • 1
    • 2
    • 3
    • 4

    14、运行下列程序,输出的结果是?

    a=[34,7,8,23]
    max(a)+abs(-5)
    
    • 1
    • 2
    A、12
    B、13
    C、18
    D、39
    
    • 1
    • 2
    • 3
    • 4

    15、set(‘小明你好’)运行的结果是?

    A、['小', '你', '明', '好'] # 列表中,文字顺序不固定
    B、('小', '你', '明', '好') # 元组中,文字顺序不固定
    C、{'小', '你', '明', '好'} # 集合中,文字顺序不固定
    D、{'你', '号', '小', '明'} # 文字顺序固定
    
    • 1
    • 2
    • 3
    • 4

    16、以下程序段的功能是?

    a=[5,10,32,7]
      for i in a:
          print(i,:,bin(i))
    
    • 1
    • 2
    • 3
    A、分别输出510327的二进制数
    B、分别输出510327的八进制数
    C、分别输出510327的在列表中的索引位置
    D、分别输出510327的十六进制数
    
    • 1
    • 2
    • 3
    • 4

    17、下列表达式的值最大的选项是?

    A、len([1,2,3,4,5,789])
    B、max([78,6,5,67])
    C、abs(-90)
    D、round(38.4)
    
    • 1
    • 2
    • 3
    • 4

    18、divmod(6,2)的运行结果是?

    A、8
    B、4
    C、(3,0)
    D、(0,3)
    
    • 1
    • 2
    • 3
    • 4

    19、如果不知道对象的数据类型,我们可以使用什么函数查看?

    A、type()
    B、dir()
    C、set()
    D、help()
    
    • 1
    • 2
    • 3
    • 4

    20、运行下列程序,输出的结果是?

    x=7
    print(eval("x+4"))
    
    • 1
    • 2
    A、输出"x+4"
    B、输出数字11
    C、输出"7+4"
    D、程序错误
    
    • 1
    • 2
    • 3
    • 4

    21、关于enumerate()函数的说法不正确的是?

    A、该函数的Python内置函数
    B、该函数可用于判断数据类型是否是数值类型
    C、该函数可将一个可遍历对象按照设置的序号组合成一个索引序列
    D、该函数通常用在for循环中,可返回一个内部由一个个元组组成的列表
    
    • 1
    • 2
    • 3
    • 4

    22、enumerate()函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列。下列程序运行后的输出结果是?

    example = '7890'
    for i,j in enumerate(example):
        print(i,j)
    
    • 1
    • 2
    • 3
    A、
    0,7
    1,8
    2,9
    3,0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    B、
    (0 7)
    (1 8)
    (2 9)
    (3 0)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    C、
    0 7
    1 8
    2 9
    3 0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    D、
    (0,7)
    (1,8)
    (2,9)
    (3,0)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    23、关于算法描述的三种基本结构,下列哪项正确?

    A、顺序结构、选择结构、循环结构
    B、if选择结构、for循环、while循环
    C、处理框、判断框、流程线
    D、自然语言、流程图、程序设计语言
    
    • 1
    • 2
    • 3
    • 4

    24、“韩信点兵”是一个古老的数学问题,可以应用中国剩余定理进行求解。以下是使用计算机解决“韩信点兵”问题的几个步骤:
    ①编写Python程序,用计算机进行处理。
    ②设计“韩信点兵”求解算法。
    ③验证算法的功能和性能。
    ④分析问题,确定解题任务。
    使用计算机解决“韩信点兵”问题,正确的步骤是下列哪一项?

    A、②④①③
    B、④①②③
    C、④②③①
    D、④②①③
    
    • 1
    • 2
    • 3
    • 4

    25、小明使用Python编程模拟绘制了物体在自由落体运动过程中产生的抛物线轨迹。小明设计的这一算法属于下列哪一种?

    A、枚举算法
    B、解析算法
    C、排序算法
    D、对分查找算法
    
    • 1
    • 2
    • 3
    • 4

    判断题

    26、小明编写了代码一,小红看到后说:“我写的代码二,打印出来的结果与小明的代码一相同”。请判断,小红所说对吗?

    代码一:
    f = open('成绩.csv', 'r')
    for i in f:
        a = i.strip('\n').split(',')
        print(a)
    f.close
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    代码二:
    f = open('成绩.csv', 'r')
    a = []
    for i in f:
        a.append(i.strip('\n').split(','))
    f.close
    print(a)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    27、有一个名为“身体素质.csv”的文件,内容为学生的姓名、身高和体重,文件内容如下:

    李四,127,32

    王五,131,34

    赵六,129,33

    小明想编写代码,在整个文件的首行,插入数据“张三,133,36”,他编写了如下代码,请判断,代码能正确运行吗?

    f = open('身体素质.csv', 'a')
    f.seek(0,0)  #用seek()方法,将文件指针移动到整个文件的最前面。
    f.write('张三,133,36\n')
    f.close()
    
    • 1
    • 2
    • 3
    • 4

    28、使用异常处理的方式执行程序时,当try里面的程序出现数据类型输入错误时,执行except ZeroDivisionError下面的语句;当try里面的程序出现除数为零的错误时,执行except ValueError下面的语句。

    29、八进制数0o10转化成十六进制数为0x8。

    30、执行代码print(type(0x20)),运行结果是。

    31、divmod()函数执行结果是返回一个包含商和余数的元组。

    32、all()函数用于判断给定的可迭代参数中的所有元素是否都为False,若是返回True,否则返回False。

    33、any()函数用于判断给定的可迭代参数中的所有元素是否都为True,若是返回True,否则返回False。

    34、有查看函数或模块说明功能的函数是help()。

    35、小明编写了如下所示的3行代码 :
    list1 = [‘赵’,‘钱’,‘孙’,‘李’,‘周’,‘吴’,‘郑’,‘王’]
    print(list1[1:-4])
    print(list1[1:4])
    小红看到代码后说:“小明,你这代码第2行与第3行,两次运行的print()函数,结果完全相同呀。”
    请判断,小红所说,是否正确?

    实操

    第一题

    小明用冒泡排序算法编写了一段代码,请帮他把代码中红色标记的①②③处,补充完整。

    a = [8,4,2,11,3,9]
    
    n = len(a)
    for i in range(0,):
        for j in range(0,):
            if a[j]>a[]:
                a[j],a[j+1] = a[j+1],a[j]      
    print(a)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    第二题

    下面程序,按字典序列统计出单词的个数,执行结果如下:
    are:2
    first:2
    happy:1
    is:3
    your:2

    请补全下列代码中的①②③④四处。

    a=['is','happy','is','your','are','first','first','is','are','your']
    n=len(a)-1
    for i in range(0,n):
        for j in range(i+1,n+1):
            if a[i]>a[j]:
                      ①     
    key=a[0]
    i=1
    ans=1
    while i<=n:
        if key==a[i]:
                   ②    
            i+=1
        else:
            print(a[i-1]+':'+str(ans))
            key=a[i]
                   ③     
            i+=1
           ④      
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    第三题

    请读取文件"cj.csv"的数据,数据内容如下图所示:
    在这里插入图片描述
    下列代码实现了读取“姓名”和“体质测试”信息,输出“体质测试”考核为A的数量(大于等于85分)并显示相应同学姓名,请你补全代码。

    import csv
    with open('cj.csv') as f:
         rows = list(  ①  )
         n=0
         for row in rows[1:]:
            if   ②  :
                print(row[0])
                n+=1
    print(n) 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
  • 相关阅读:
    Python eval 函数动态地计算数学表达式
    从外卖小哥自学到阿里首席架构师,全靠这份“从零学架构宝典”真的太强了
    【密码加密原则二】
    【pyspider】爬取ajax请求数据(post),如何处理python2字典的unicode编码字段?
    基于遗传算法的最优潮流问题的研究(Matlab实现)【期刊论文复现】
    Qt文档阅读笔记-Fetch More Example解析
    Markdown 常用图例(流程图 时序图 甘特图)
    【B树 B+树】B树、B+树理论
    Linux进阶-文件
    脚手架应用场景之快速搭建项目
  • 原文地址:https://blog.csdn.net/QD_Jason/article/details/126064172