admin 管理员组

文章数量: 887021


2024年1月11日发(作者:left函数参数)

书山有路勤为径,学海无涯苦作舟!

2023年计算机二级《Python语言程序设计》考试全真模拟易错、难点汇编叁(带答案)

(图片大小可自由调整)

一.全考点综合测验(共45题)

1.

【单选题】以下对数值运算操作符描述错误的选项是:

提供了 9 个基本的数值运算操作符

数值运算操作符也叫做内置操作符

二元数学操作符都有与之对应的增强赋值操 作符

数值运算操作符需要引用第三方库 math

正确答案:D

2.

【单选题】以下关于数据维度的描述,错误的是:

A.采用列表表示一维数据,不同数据类型的元素是可以的

格式可以表示比二维数据还复杂的高维数据

C. 二维数据可以看成是一维数据的组合形式

D.字典不可以表示二维以上的高维数据

正确答案:D

3.

书山有路勤为径,学海无涯苦作舟!

【单选题】对建立良好的程序设计风格,下面描述正确的是

A.符号名的命名只要符合语法

B. 充分考虑程序的执行效率

C.程序的注释可有可无

D.程序应简单、清晰、可读性好

正确答案:D

4.

【单选题】下面不属于软件设计原则的是

A.抽象

B.模块化

C.信息隐蔽

D.自底向上

正确答案:D

5.

【单选题】软件开发的结构化生命周期方法将软件生命周期划分成

A.定义、开发、运行维护

B.设计阶段、编程阶段、测试阶段

C. 总体设计、详细设计、编程调试

书山有路勤为径,学海无涯苦作舟!

D.需求分析、功能定义、系统设计

正确答案:A

6.

【问答题】请用 Python 语言编写一个简易的系统登录程序。

正确答案:

import ebox

import tkinter

my_window = () # 生成 my_window 主窗口

my_('welcome my_window') # 设置窗口标题

cv = (my_window,bg='lightcyan') # 用画布设置窗口的颜色

()

my_ry('200x150') # 设置窗口大小

# label 标签(用户名和密码的变量)

书山有路勤为径,学海无涯苦作舟!

varName = Var() # 文字变量储存器器

('admin')

varPwd = Var()

('123456')

# 创建账户的标签

labname = (my_window,text=' 用户名

',justify=,bg='pink',width=80)

(x=10,y=5,width=80,height=20)

# 创建文本框,同事设置关联变量

enterName = (my_window,width=80,textvariable=varName)

(x=100,y=5,width=80,height=20)

# 创建密码的标签 和文本框

书山有路勤为径,学海无涯苦作舟!

labPwd = (my_window,text=' 密码',justify=,bg='pink',width=80)

(x=10,y=30,width=80,height=20)

enterPwd = (my_window,show='*',width=80,textvariable=varPwd)

(x=100,y=30,width=80,height=20)

# 登录按钮事件处理函数

def login():

Name = ()

Pwd = ()

if Name =='admin' and Pwd == '123456':

fo(title='Python tkinter',message=' 登录成功!!')

else:

ror(title='python tkinter',message=' 登录失败 ')

书山有路勤为径,学海无涯苦作舟!

# 创建按钮组件,并且设置按钮事件的处理函数

buttonOK = (my_window,text = 'login',background='lightskyblue',command

=

login())

(x=30 , y=70 , width=50,height=20)

# 取消按钮的时间处理函数

def cancel():

# 清空用户输入的用户名和密码

('')

('')

buttonCancel =

(my_window,text='Cancel',background='lightgray',command=cancel())

书山有路勤为径,学海无涯苦作舟!

(x=100,y=70,width=50,height=20)

# 启动消息循环

my_op()

7.

【单选题】执行以下程序,输入 qp,输出结果是:

k = 0

while True:

s = input(' 请输入 q 退出: ')

if s == 'q':

k += 1

continue

else:

k += 2

break

print(k)

A.2

B.请输入 q 退出:

C. 3

书山有路勤为径,学海无涯苦作舟!

D. 1

正确答案:A

8.

【问答题】请简述 Python 中类方法、实例方法、静态方法各自的区别?并简述它们各自的用途。

正确答案:

实例方法只能用实例对象来调用,不能用类对象来调用实例方法。

类方法: 类方法是类对象所拥有的方法,类方法的第一个参数必须是类对象,可以通过实例对象和类对象去访问类方法,类方法可以对类属性进行修改。

实例方法: 实例方法是类中最常定义的成员方法,它至少有一个参数并且必须以实例对象作为其第一个参数, 在类外实例方法只能通过实例对象去调用,不能通过其他方式去调用。

静态方法:静态方法需要通过修饰器 “@staticmethod ”来进行修饰, 静态方法不需要多定义参数。 静态方法中不需要额外定义参数, 因此如果在静态方法中引用类属性,则必须通过类对象来引用。

9.

【单选题】用 Pyinstall 工具把 Python 源文件打包成一个独立的可执行文件,使用的参 数是:

A.-D

B. -L

C.-i

D.-F

书山有路勤为径,学海无涯苦作舟!

正确答案:D

10.

【单选题】以下程序的输出结果是:

>>> def f(x, y = 0, z = 0): pass

>>> f(1, , 3)

D.出错

正确答案:D

11.

【单选题】已知 id(ls1) = 4404896968 ,以下程序的输出结果是: ls1 = [1,2,3,4,5]

ls2 = ls1

ls3 = ()

print(id(ls2),id(ls3))

A.4404896968 4404896904

B.4404896904 4404896968

书山有路勤为径,学海无涯苦作舟!

C.4404896968 4404896968

D.4404896904 4404896904

正确答案:A

12.

【问答题】请分别举例说明,在 Python 中函数的实在参数与形式参数间单向和双向传递数据是如何实现的。函数的位置参数与关键字参数有何区别?

正确答案:

在 Python 中,实参向形参传送数据的方式是“值传递” ,即“拷贝”或“复制”。实参的值传给形参, 是对象间整体赋值, 是一种单向传递方式, 不能由形参传回给实参。

函数体传入的参数, 为函数体外变量引用的副本。 在函数体中改变变量指向的堆中的值,对函数外变量有效。在函数体中改变变量的引用,对函数外变量无效。

关键字参数和位置参数的区别:

函数调用时的参数通常采用按 位置匹配的方式,即实参按顺序传递给相应位置的形参。实参的个数应与形参个数必须完全相等。

在函数调用中使用关键字参数,是指通过形式参数的 名称 来指示为哪个形参传递什么值,这可以跳过某些参数或脱离参数的顺序。

13.

【单选题】一些重要的程序语言(如 C 语言和 Pascal 语言)允许过程的递归调用。而 实现递归调用中的存储分配通常用

书山有路勤为径,学海无涯苦作舟!

A.栈

B. 堆

C.链表

D.数组

正确答案:A

14.

【单选题】以下表达式,正确定义了一个集合数据对象的是:

A.x = { 200, ’flg ’, 20.3}

B.x = ( 200, ’flg ’, 20.3)

C. x = [ 200, ’flg ’, 20.3 ]

D. x = { ‘flg ’ : 20.3}

正确答案:A

15.

【单选题】软件开发离不开系统环境资源的支持,其中必要的测试数据属于

A.辅助资源

B.硬件资源

C.通信资源

D.支持软件

书山有路勤为径,学海无涯苦作舟!

正确答案:A

16.

【单选题】完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例 的测试方法是

A.错误推测法

B.白箱测试法

C.黑箱测试法

D.安装测试法

正确答案:C

17.

【单选题】以下 Python 语言关键字在异常处理结构中用来捕获特定类型异常的选项是:

B. lambda

C. in

正确答案:D

书山有路勤为径,学海无涯苦作舟!

18.

【单选题】执行以下程序,输入 ”93python22”,输出结果是:

w = input( ‘请输入数字和字母构成的字符串: ’)

for x in w:

if '0'9322

B. python

C.93python22

D. 9322

正确答案:C

19.

【单选题】执行以下程序,输入 la,输出结果是:

la = 'python'

try:

s = eval(input(' 请输入整数: '))

ls = s*2

print(ls)

except:

print('请输入整数 ')

B.请输入整数

python

书山有路勤为径,学海无涯苦作舟!

正确答案:C

20.

【单选题】下列关于栈的叙述中正确的是

A.在栈中只能插入数据

B.在栈中只能删除数据

C.栈是先进先出的线性表

D.栈是先进后出的线性表

正确答案:D

21.

【单选题】以下关于程序设计语言的描述,错误的选项是:

语言是一种脚本编程语言

B.汇编语言是直接操作计算机硬件的编程语言

C. 程序设计语言经历了机器语言、汇编语言、脚本语言三个阶段

D.编译和解释的区别是一次性翻译程序还是每次执行时都要翻译程序

正确答案:C

书山有路勤为径,学海无涯苦作舟!

22.

【问答题】请用 Python 语言编写一个简易的计算器程序。

正确答案:

from tkinter import *

reset=True

def buttonCallBack(event):

global label

global reset

num=['text']

if num=='C':

label['text']="0"

return

if num in "=":

书山有路勤为径,学海无涯苦作舟!

label['text']=str(eval(label['text']))

reset=True

return

s=label['text']

if s=='0' or reset==True:

s=""

reset=False

label['text']=s+num #主窗口

root=Tk() _title(" 计算器 ") #显示栏 1

label=Label(root,text="0",background="white",anchor="e")

label['width']=35

label['height']=2

书山有路勤为径,学海无涯苦作舟!

(row=1,columnspan=4,sticky=W) #按钮

showText="789/456*123-0.C+"

for i in range(4):

for j in range(4):

b=Button(root,text=showText[i*4+j],width=7)

(row=i+2,column=j)

("",buttonCallBack) showText="()"

for i in range(2):

b=Button(root,text=showText[i],width=7)

(row=6,column=2+i)

("",buttonCallBack) b=Button(root,text="=")

(row=6,columnspan=2,sticky="we")

书山有路勤为径,学海无涯苦作舟!

("",buttonCallBack)

op()

23.

【问答题】Python 语言有哪些运算符?请列表说明它们各自的运算优先级。

正确答案:

算术运算符、位运算符、关系运算符、逻辑运算符、赋值运算符、成员运算符、身份运算符等

24.

【单选题】以下程序的输出结果是:

ls =list({'shandong':200, 'hebei':300, 'beijing':400})

print(ls)

A.['300','200','400']

B.['shandong', 'hebei', 'beijing']

C. [300,200,400]

D. 'shandong', 'hebei', 'beijing'

正确答案:B

书山有路勤为径,学海无涯苦作舟!

25.

【问答题】在 Python 中如何实现栈和队列?请举例说明。

正确答案:

class Stack(object):

def __init__(self):

=[]

def isEmpty(self):

return ==[]

def push(self,item):

(item)

def pop(self):

if y():

raise IndexError,'pop from empty stack'

书山有路勤为径,学海无涯苦作舟!

return ()

def peek(self):

return [-1]

def size(self):

return len()

class Queue:

def __init__(self, head=None):

e = [head]

def enqueue(self, new_element):

(new_element)

def peek(self):

书山有路勤为径,学海无涯苦作舟!

return e[0]

def dequeue(self):

return (0)

26.

【单选题】表达式 type(eval('45')) 的结果是:

A.

B.

D.

正确答案:D

27.

【单选题】下列不属于结构化分析的常用工具的是

A.判定树

B.数据字典

C.数据流图

书山有路勤为径,学海无涯苦作舟!

正确答案:C

28.

【单选题】以下不是程序输出结果的选项是:

import random as r

ls1 = [12,34,56,78]

e(ls1)

print(ls1)

A.[12, 78, 56, 34]

B.[56, 12, 78, 34]

C. [12, 34, 56, 78]

D.[12, 78, 34, 56]

正确答案:C

29.

【问答题】请举例说明 Python 面向对象的多态性(例如函数重载、运算符重载)是如何实现的?

正确答案:

父类和多个子类中都有同名的方法, 虽然方法同名, 但该方法在不同类中的行为是不同的。当向一个对象发送消息(即调用该方法)时,所得结果取决于是哪一个对象接收。多个不同的对象都支持相同的消息, 但各对象响应消息的行为不同,这种能力就是多态性的体现, 即同一操作在不同的上下文环境中具有不同形态的意思。

30.

书山有路勤为径,学海无涯苦作舟!

【单选题】Python 语言中,以下表达式输出结果为 11 的选项是:

("1+1")

B. print(1+1)

C. print(eval("1+1"))

(eval("1" + "1"))

正确答案:D

31.

【问答题】简述使用 tkinter 模块创建一个图形用户界面应用程序的主要步骤。

正确答案:

1.导入 Tkinter 模块

2.创建一个顶层窗口对象,来容纳你的整个 GUI 程序

3.在你的顶层窗口对象上(或者其中)创建所有的 GUI 模块(以及功能)

4.把这些 GUI 模块与底层代码相连接

5.进入主事件循环

32.

书山有路勤为径,学海无涯苦作舟!

【单选题】运行以下程序,

x = eval(input())

y = eval(input())

print(abs(x+y))

从键盘输入 1+2 与 4j,则输出结果是:

A.5

B.

C.

D. 5.0

正确答案:D

33.

【单选题】下列有关数据库的描述,正确的是

A.数据库是一个关系

B.数据库是一个 DBF 文件

C. 数据库是一个结构化的数据集合

D.数据库是一组文件

正确答案:C

34.

书山有路勤为径,学海无涯苦作舟!

【单选题】设 str = 'python' ,想把字符串的第一个字母大写,其他字母还是小写,正确 的选项是:

(str[0].upper()+str[1:])

(str[1].upper()+str[-1:1])

(str[0].upper()+str[1:-1])

(str[1].upper()+str[2:])

正确答案:A

35.

【单选题】以下程序的输出结果是:

def fun1(a,b,*args):

print(a)

print(b)

print(args)

fun1(1,2,3,4,5,6)

A.1 2 [3, 4, 5, 6]

B.1,2,3,4,5,6

C. 1 2 3, 4, 5, 6

D.1 2 (3, 4, 5, 6)

正确答案:D

书山有路勤为径,学海无涯苦作舟!

36.

【问答题】请分别简述利用 thinter 模块、turtle 模块和 graphics 模块绘图时各自的绘图步骤。

正确答案:

thinter 模块:·

1.导入 Tkinter 模块

2.创建控件

3.指定这个控件的 master, 即这个控件属于哪一个

4.告诉 GM(geometry manager) 有一个控件产生了。

turtle 模块:

1.引入 turtle 模块

2.创建画布。调用 turtle 中的 Pen函数。

3.移动海龟。

4.提起画笔

书山有路勤为径,学海无涯苦作舟!

graphics 模块:

1.导入 graphics模块包

2.使用 GraphWin

3.调用 Point()类,设置 X 坐标和 Y 坐标

4.调用 draw()方法,绘制

37.

【问答题】请简述 Python 中类对象与实例对象、类属性与实例属性各自的区别?并简述它们各自的用途。

正确答案:

类对象与实例对象的区别: 在一个类中, 类对象只有一个, 但实例对象可以有多个。类对象在定义类后便自然存在,而实例对象需要人为创建。

类属性与实例属性的区别: 实例属性是实例对象所特有的。 类对象并不拥有实例属性,所以不能通过类对象来访问实例属性。 实例属性也只能用实例对象来访问,不能用类对象来访问实例属性。 类属性即可用类对象访问, 也可用实例对象访问。请简述 Python 中类对象与实例对象、类属性与实例属性各自的区别?并简述它们各自的用途。

38.

【单选题】数据库应用系统中的核心问题是

书山有路勤为径,学海无涯苦作舟!

A.数据库管理员培训

B.数据库维护

C.数据库系统设计

D.数据库设计

正确答案:D

39.

【单选题】在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系 统具有

A.特定的数据模型

B.数据无冗余

C.专门的数据管理软件

D.数据可共享

正确答案:A

40.

【单选题】以下关于字符串类型的操作的描述,错误的是:

e(x,y) 方法把字符串 str 中所有的 x 子串都替换成 y

B.想把一个字符串 str 所有的字符都大写,用 ()

C. 想获取字符串 str 的长度,用字符串处理函数 ()

D.设 x = ’aa’ ,则执行 x*3 的结果是 ‘aaaaaa’

书山有路勤为径,学海无涯苦作舟!

正确答案:C

41.

【单选题】以下程序的输出结果是:

ss = set("htslbht")

sorted(ss)

for i in ss:

print(i,end = '')

t

B. hlbst

C. tsblh

正确答案:B

42.

【单选题】表达式 eval('500/10') 的结果是:

A.‘500/10 ’

B.500/10

C.50

D. 50.0

书山有路勤为径,学海无涯苦作舟!

正确答案:D

43.

【单选题】下列叙述中正确的是

A.一个算法的空间复杂度大,则其时间复杂度必定小

B.一个算法的空间复杂度大,则其时间复杂度也必定大

C.算法的时间复杂度与空间复杂度没有直接关系

D.一个算法的时间复杂度大,则其空间复杂度必定小

正确答案:C

44.

【单选题】在软件开发中,需求分析阶段产生的主要文档是

A.用户手册

B.软件集成测试计划

C.软件详细设计说明书

D.软件需求规格说明书

正确答案:D

45.

书山有路勤为径,学海无涯苦作舟!

【问答题】Python 语言有哪些语句?

正确答案:

if 语句、 while 语句、 for 语句


本文标签: 对象 实例 单选题 程序 方法