冲冲冲!!!python计算机二级每日一套_1

发布于:2022-11-13 ⋅ 阅读:(414) ⋅ 点赞:(0)


声明:例题均来源于网络,仅供学习笔记,若涉侵权请联系删除。所属练题来源于《小黑课堂》

一、选择题

1、下列叙述中正确的是()。
A.解决一个问题可以有不同的算法,且它们的时间复杂度可以是不同的
B.算法的时间复杂度和计算机系统有关
C.解决一个问题的算法是唯一的
D.解决一个问题可以有不同的算法,但它们的时间复杂度必定是相同的

【题目解析】
算法的时间复杂度是指执行算法所需要的计算工作量,而计算工作量是用算法所执行的基本运算次数来度量的。解决同-一个问题的不同算法的时间复杂度,可能相同也可能不相同。算法的时间复杂度与数据存储结构无关,对同一批数据作同一种处理或者不同处理,数据存储结构相同或者不同,算法的时间复杂度都可能相同或者不同,所以选A。

2、持子程序调用的数据结构是()。
A.栈
B.树
C.队列
D.二叉树

【题目解析】
栈,栈支持子程序调用。栈是一种只能在一端进行插入或删除的线性表,在主程序调用子函数时要保存主程序的当前状态,符合栈的特性,所以选A。

3、某二叉树中有15个度为1的结点,16个度为2的结点,则该二叉树中总的结点数为()。
A.32
B.46
C.48
D.49

【题目解析】
在树结构中,一个结点所拥有的后件个数称为该结点的度,所有结点中最大的度称为树的度。对任何一棵二叉树,度为0的结点(即叶子结点)总是比度为2的结点多一个。由16个度为2的结点可知叶子结点个数为17,则结点结点总数为16+17+15=48,所以选C。

4、下列叙述中错误的是()。
A.线性结构也能采用链式存储结构
B.线性结构一定能采用顺序存储结构
C.有的非线性结构也能采用顺序存储结构
D非线性结构**一定**不能采用顺序存储结构

【题目解析】
满二叉树与完全二叉树均为非线性结构,但可以按照层次进行顺序存储。本题选择D选项。

5、软件的三要素是()
A.程序、数据及相关文档
B.程序、数据和配置
C.程序、数据和工具
D.程序、数据和运行环境

【题目解析】
软件的三要素是程序、数据及相关文档,所以选A。

6、一个模块直接调用的下层模块的数目称为模块的()。
A.扇入数
B.扇出数
C.宽度
D.作用域

【题目解析】
扇入数指调用一个给定模块的模块个数。扇出数是指由一个模块直接调用的其他模块数,即一个模块直接调用的下层模块的数目。本题选择B选项。

7、将E-R图转换为关系模式时,实体和联系都可以表示为()。
A.属性
B.键
C.关系
D.域

【题目解析】
实体与联系可以表示成关系,关系可以表示成二维表,所以选C。

8、采用表结构来表示数据及数据间联系的模型是()。
A.层次模型
B.概念模型
C.网状模型
D.关系模型

【题目解析】
关系模型采用二维表来表示,简称表。本题选择D选项。

9、在供应关系中,实体供应商和实体零件之间的联系是()。
A.多对多
B.一对一
C.多对一
D.一对多

【题目解析】
一家供应商可提供多种零件,一种零件也可被多家供应商提供。所以实体供应商和实体零件之间的联系是多对多。本题选择A选项。

10、将实体-联系模型转换为关系模型时,实体之间多对多联系在关系模型中的实现方式是()。
A.建立新的关系
B.建立新的属性
C.增加新的关键字
D.建立新的实体

【题目解析】
①一个实体型转换为一个关系模型,实体的属性就是关系的属性,实体的键就是关系的键。②一个联系转换为一个关系模式,与该联系相连的每个实体型的键以及联系的属性都转换为关系的属性。这个关系的键分为以下三种不同的情况:若联系为1:1,则相连的每个实体型的键均是该关系模式的候选键;若联系为1:n,则联系对应的关系模式的键取n端实体型的键;若联系为m:n,则联系对应的关系模式的键为参加联系的诸实体型的键的组合,所以选A。

11、以下不属于程序语言设计语言类别的是()。
A.解释语言
B.汇编语言
C.机器语言
D.高级语言

【题目解析】
程序设计语言分为三类机器语言、汇编语言、高级语言。所以本题选A。

12、以下关于程序控制结构错误()。
A.Python 里,能用分支结构写出循环的算法
B.二分支结构可以嵌套组合形成多分支结构
C.分支结构包括单分支结构、二分支结构和多分支结构
D.程序由三种基本结构组成

【题目解析】
程序是由三种基本结构组成,顺序、选择、循环。分支结构无法表示循环的算法,所以本题选A。

13、Python语言提供三种基本的数字类型,它们是()。
A.整数类型、二进制类型、浮点类型
B.整数类型、浮点类型、复数类型
C.整数类型、二进制类型、复数类型
D.二进制类型、浮点类型、复数类型

【题目解析】
Python提供了三种数据类型,分别为整数类型、浮点数类型、复数类型。本题选B.

14、下列不属于Python合法的标识符的是()。
A.python$base
B.int32
C._selfname
D.stu520

【题目解析】
Python中标识符可以使用字母、数字、下划线,不能出现特殊字符。本题选A。

15、Python中定义函数的关键字是()。
A.class
B.def
C.function
D.defun

【题目解析】
Python中定义函数的关键字是def。本题选B。

16、下列关于列表的说法正确的是()。
A.列表的索引序号是从1开始的,以此类推
B.使用append()函数可以向列表的指定位置插入元素
C.列表中的值可以是任何数据类型,被称为元素或项
D.使用remove()函数可以从列表中删除元素,但必须知道元素在列表中的位置

【题目解析】
列表的序号是从0开始的,append函数是向列表末尾插入元素,remove函数可直接删除参数元素,不需要知道所在位置。所以本题选C。

17、当键盘输入3的时候,下面输入正确的是()。
r = input(“请输入半径:”)
c = 3.1415 * r *2
print(“{:.0f}”.format©)

A.Type Error
B.18
C.18.849
D.19

【题目解析】
input()函数返回的是字符串类型,当用户输入的是数字的时候,需要用eval()或者float()或者int()转换成数值类型,才能参加运算。本题选A。

18、以下代码的输出结果是()。
a=7
b=2
print(a%b)

A.3
B.3.0
C.1
D.1.0

【题目解析】
%是取余运算,计算结果为1。所以本题选C。

19、Python语言中用来表示代码块所属关系的语法是()。
A.缩进
B.括号
C.中括号
D.冒号

【题目解析】
Python中利用缩进表示代码所属关系。本题选A。

20、列表变量lis共包含10个元素,lis索引的取值范围是()。
A.(0,10)
B.(0,9)
C.[0,10]
D.[0,9]

【题目解析】
A和B表示元组,列表的元素从0开始,一共十位,所以本题选D。

21、下面代码的输出结果是()。
for i in "python is best language ":
if i==’n’:
break
print(i)

A.python is best language
B.python
C.pytho
D.’’

【题目解析】
当i==’n’的时候跳出循环,所以n没有被打印出来,所以本题选C。

22、下面代码的输出结果是()。
x=10
while x:
x-=1
if x%2:
print(x,end=‘’)
else:
pass

A.86420
B.975311
C.97531
D.864200

【题目解析】
while条件为真时进入循环体,执行循环体中的内容。如果x的值为偶数则if条件为假,不执行任何操作,为奇数则if条件为真,输出该奇数;进入下一次循环,判断while条件,判断是否进入循环体,执行循环体中的代码。后面的操作类似,直到while条件不满足。经过一系列的运算,输出结果为: 97531。所以本题选C。

23、下面代码的输出结果是()。
for i in range(3):
for s in “abcd”:
if s==“c”:
break
print (s,end=“”)

A.ababab
B.abcabcabc
C.aaabbb
D.aaabbbccc

【题目解析】
外层循环一共循环三次,每一次执行一次内层循环,内层循环循环输出每个元素,当s==’c’跳出循环,c不会被打印出来。本题选A。

24、以下关于程序的异常处理的描述中,错误的是()。
A.except语句后面可以指定异常类型
B.异常和错误是两个相同的意思
C.带有else子句的异常处理结构,当try中的语句块正常执行结束且没有异常时执行else子句中的代码
D.异常处理机制虽然可以解决程序的一些错误,但不建议过度依赖

【题目解析】
异常和错误是两个不同的概念。本题选B。

25、下面代码的输出结果是()。
ab = 4
def my_ab(ab, xy)
ab= pow(ab,xy)
print(ab,end=" ")
my_ab(ab,2)
print( ab)

A.16 4
B.16 16
C.4 4
D.4 16

【题目解析】
本题考查了函数定义与调用,ab和xy得到的参数分别为4和2,函数内部打印的是局部变量ab,外面打印的是全局变量ab。所以本题选A。

26、S和T是两个集合,对S&T的描述正确的是()。
A.S和T的交运算,包含S和T中共有的元素
B.S和T的并运算,包括在集合S和T中的所有元素
C.S和T的差运算,包括在集合S但不在T中的元素
D.S和T的补运算,包括几个S和T中的非相同元素

【题目解析】
S&T返回了一个新的集合,表示交集,包含S和T中共有的元素,所以本题选A。

27、以下关于文件读写的描述中,错误的是()。
A.以追加模式打开的文件,文件存在则在原文件最后追加内容,不存在则创建
B.对文件进行读写操作之后必须关闭文件以防止文件丢失
C.文件对象的seek()方法用来返回文件指针的当前位置
D.文件对象的readlines()方法用来读取文件中的所有行,以每行为元素形成一个列表

【题目解析】
文件对象的seek方法用来移动指针的位置。所以本题选C。

28、关于Python元组类型,以下选项中描述错误的是()。
A.元组不可以被修改
B.Python中元组使用圆括号和逗号表示
C.元组中的元素要求是相同类型
D.一个元组可以作为另一个元组的元素,可以采用多级索引获取信息

【题目解析】
元组与列表相似,可以存储不同类型的数据,元组是不可以修改的,创建后不能在更改元素。所以本题选C。

29、以下关于文件描述错误的是()。
A.open 函数的参数处理模式 ’ b ’ 表示以二进制数据处理文件
B.open 函数的参数处理模式 ’ + ’ 表示可以对文件进行读和写操作
C.readline 函数表示读取文件的下一行,返回一个字符串
D.open 函数的参数处理模式 ’ a ’ 表示追加方式打开文件,删除已有内容

【题目解析】
a的打开方式并不会删除掉原文件内容。所以本题选D。

30、在Python的类定义中,对函数变量的访问形式为()。
d = {“zhang”:“China”, “Jone”:“America”, “Natan”:“Japan”}
for k in d:
print(k, end=“”)

A.zhang:China Jone:America Natan:Japan
B.ChinaAmericaJapan
C.“zhang””Jone””Natan”
D.zhangJoneNatan

【题目解析】
字典的遍历默认是对键的遍历,print输出以空字符结尾,所以本题选D。

31、下面关于组合数据类型描述错误的是 ()。
A.可以用大括号创建字典,用中括号增加新元素
B.字典的 pop 函数可以返回一个键对应的值,并删除该键值对
C.空字典和空集合都可以用大括号来创建
D.嵌套的字典数据类型可以用来表达高维数据

【题目解析】
字典可以用大括号来创建,集合只能用set()函数来创建。嵌套字典可以实现高维数据。所以本题选C。

32、不属于Python机器学习第三方库的是()。
A.Pylons
B.tensorflow
C.keras
D.mxnet

【题目解析】
keras、tensorflow、mxnet是机器学习的第三方库。本题选A。

33、、下面哪一种导入方式是错误的?()
A.import numpy
B.import ndarray from numpy
C.from numpy import *
D.import numpy as np

【题目解析】
B的写法错误,应该是from numpy import ndarray。所以本题选B。

34、以下属于 Python HTML 和 XML 解析的第三方库的是()。
A.Requests
B.Networkx
C.Beautiful Soup
D.Django

【题目解析】
Beautiful Soup库是用于解析XML的第三方库。所以所以本题选C。

35、下面代码的输出结果是()。
for in range(0,10,2):
print(i,end=" ")

A.0 2 4 6 8
B.2 4 6 8
C.0 2 4 6 8 10
D.2 4 6 8 10

【题目解析】
range(start,end,step)表示一个从start开始,到end结束,步长为step的区间,本题遍历的到0 2 4 6 8。所以本题选A。

36、下面代码输出结果是()。
x = [‘90’,‘87’,‘90’]
n = 90
print(x.count(n))

A.2
B.1
C.None
D.0

【题目解析】
本题考查count函数用法,x.count(n)返回n在x中出现的次数。90是int,而x中为字符串类型,所以本题选D。

37、以下程序输出到test.txt的结果是()。
fo = open(“text.txt”,‘w’)
x = [90,87,93]
fo. write(“,”.join(str(x)))
fo.close()

A.[90,87,93]
B.,9,0, ,8,7, ,9,3,
C.90,87,93
D.[,9,0,,, ,8,7,,, ,9,3,]

【题目解析】
本题将列表转换成字符串,join会将每一个字符用‘,’串起来,所以本题选D。

38、执行以下程序后,要输出my44py45结果,该执行的选项堤()。
ls = [‘my’,‘44’,‘py’,‘45’]
ls.reverse()

A.print(''.join(ls[-1::-1]))
B.print(‘’.join(ls))
C.print(‘’.join(ls[1:]))
D.print(‘’.join(ls[-1::]))

【题目解析】
本题考查字符串的切片,reverse()方法将列表反转,此时列表为[‘45’,‘py’,‘44’,‘my’],此时利用切片是列表再次倒过来即可满足条件。所以本题选A。

39、以下关于Python的函数的描述,错误的是()。
A. python支持可选参数传递,定义的时候设置参数的默认值
B. 用def定义了函数之后,就等同于运行函数的代码
C. python支持用名称传递参数,调用的时候,带名称的参数可以改变在参数序列中的位置
D. python函数可以没有return语句,不返回值

【题目解析】
python可以支持可选参数传递,定义的时候设置参数的默认值,def定义了函数并没有运行函数的代码,python同样支持带参数名的传参方式,python中的函数可以没有返回值。所以本题选B。

40、下面这段代码的输出结果是()。
L = ‘abcd’
def f(x,result=[‘a’,‘b’,‘c’,‘d’]):
if x:
result.remove(x[-1])
f(x[:-1])
return result
print(f(L))

A.[‘a’,‘b’,‘c’,‘d’]
B.[‘b’,‘c’,‘d’]
C.[‘a’,‘b’,‘c’]
D.[]

【题目解析】
本题考查函数的使用,调用函数是x=‘abcd’,只要x不为空,函数f()会被不断调用,直到x值为空,每次调用result都要删除掉x字符串的最后一位字符相等的值。最终列表也为空。所以本题选D。

二、基本操作

在这里插入图片描述

n = eval(input("请输入正整数:"))
print("{:->20,}".format(n)) # 依次为减号填充;右对齐;20个字符;千分位

在这里插入图片描述

a = [3,6,9]
b =  eval(input()) #例如:[1,2,3]
s = 0 # 初始值
for i in range(3): #三次循环取值
    s += a[i]*b[i]
print(s)

在这里插入图片描述

import random
random.seed(123) # seed函数设置随机种子
for i in range(10): # 10个随机数
    print(random.randint(1,999), end=",") # 打印1-999的随机数

三、简单应用

在这里插入图片描述

import turtle
turtle.right(-30)
turtle.fd(200) # 向前行进200
turtle.right(60)
turtle.fd(200)
turtle.right(120) # 向左旋转120
turtle.fd(200)
turtle.right(60)
turtle.fd(200)
turtle.right(120)

在这里插入图片描述

data = input()  # 姓名 性别 年龄
num = 0 # 男生计数
age = 0 # 年龄初始值
i = 0 # 输入信息数
while data:
    i += 1 #
    ls = data.split() # 对data按空格拆分
    age += int(ls[2]) # 对年龄求和
    if ls[1] == "男": # 判断是否是男生,是num+1
        num += 1
    data = input()
avg = age/i # 平均年龄
print("平均年龄是{:.2f} 男性人数是{}".format(avg,num))

四、综合应用

在这里插入图片描述

问题1:

f = open("命运.txt","r") # 以读的方式打开命运.txt文件
txt = f.read() # 读取txt文件
d = {}
for i in txt:
    if i not in ",。:!“”‘’《》【】": # 筛选不包含标点符号
        d[i] = d.get(i,0)+1 # 添加到d字典中
f.close() # 关闭
ls = list(d.items()) # 将字典d的所有键值对生成列表
ls.sort(key=lambda x:x[1],reverse=True) # 按第二列的数值进行从大到小排序(lambda匿名函数)
print("{}:{}".format(ls[0][0],ls[0][1]))

问题2:

f = open("命运.txt","r") # 用读的方式打开命运.txt文件
txt = f.read() # 读取txt文件
d = {}
for i in txt:
    if i not in "\n":  # 筛选出不包含回车符
        d[i] = d.get(i,0)+1 # 对筛选后结果求和
f.close() # 关闭
ls = list(d.items())
ls.sort(key=lambda x:x[1], reverse=True) # 此行可以按照词频由高到低排序
for j in range(10): #输出最高的10个
    print(ls[j][0],end="") # 不换行

问题3:

fr = open("命运.txt","r") # 以读的形式打开命运.txt
fw = open("命运-频次排序.txt","w") # 以写的形式打开要输出的文件
txt = fr.read() # 读取全部内容

d = {}
for i in txt:
    if i not in "\n": # 筛选不包含回车空格
        d[i] = d.get(i,0)+1 # 对筛选结果求和
        
ls = list(d.items())
ls.sort(key=lambda x:x[1], reverse=True) # 此行可以按照词频由高到低排序
for j in ls: # 写入命运-频次排序中
    fw.write("{}:{},".format(j[0],j[1])) # 格式为内容:数,分割
fr.close()
fw.close()
本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到