目录

  • 前言
    • ●  Python解释器安装
    • ●  PyCharm开发环境
  • Python程序设计实验
    • ●  实验1 IDLE与代码编写规范
    • ●  实验2 输入输出与数据类型
    • ●  实验3 字符串处理
    • ●  实验4 数据运算
    • ●  实验5 列表与元组应用
    • ●  实验6 字典与集合应用
    • ●  实验7 if语句与match语句
    • ●  实验8 使用循环语句
    • ●  实验9 异常处理
    • ●  实验10 函数应用
    • ●  实验11 类的应用
    • ●  实验12 模块应用
    • ●  实验13  应用re模块
    • ●  实验14 文件处理
    • ●  实验15 用户界面设计
    • ●  实验18 SQLite数据库应用
    • ●  理论考试模拟试题A
    • ●  理论考试模拟试题B
    • ●  理论考试模拟试题C
    • ●  理论考试模拟试题D
  • 学习参考
    • ●  01 Python及其IDLE环境
    • ●  02 Python代码规范
    • ●  03 常量和变量
    • ●  04 输入输出
    • ●  05 运算符
    • ●  06 数值类型
    • ●  07 字符串
    • ●  08 列表
    • ●  09 元组
    • ●  10 字典
    • ●  11 集合
    • ●  12 条件语句
    • ●  13 循环语句
    • ●  14 异常处理
    • ●  15 自定义函数
    • ●  16 内置函数
    • ●  17 模块导入与定义
    • ●  18 math模块
    • ●  19 os模块
    • ●  20 time模块
    • ●  21 random模块
    • ●  22 文本文件
    • ●  23 二进制文件
    • ●  24 类的创建和使用
    • ●  25 类的继承与多态
 理论考试模拟试题C

单选题:(20*3分,共60分)

1、以下关于函数返回值的描述中,正确的是______。

A、Python函数的返回值使用很灵活,可以没有返回值,可以有一个或多个返回值

B、函数定义中最多含有一个return语句

C、在函数定义中使用return语句时,至少给一个返回值

D、函数只能通过print语句和return语句给出运行结果

AN:A

评析: 函数定义中可以含有多个return语句,可以返回0个、1个或多个函数运算的结果。函数可以没有return,此时函数不返回值。

 

2、以下可以替代#用来当作Python语言注释的语法元素是______。

A、字符串类型

B、print( )函数

C、input( )函数

D、eval( )函数

AN:A

评析: 当注释内容过多,导致一行无法显示时,就可以使用多行注释。Python中使用三个单引号或三个双引号表示多行注释。

 

3、以下关于Python语言浮点数类型的描述中,错误的是______。

A、Python语言要求所有浮点数必须带有小数部分

B、浮点数类型表示带有小数的类型

C、小数部分不可以为0

D、浮点数类型与数学中实数的概念一致

AN:C

评析: Python语言中的浮点数类型必须带有小数部分,小数部分可以是0。

 

4、以下关于二进制整数的定义,正确的是______。

A、0bC3F

B、0b1708

C、0B1019

D、0B1010

AN:D

评析: 二进制整数以0b引导,由字符0和1组成。

 

5、关于表达式id('45')的结果的描述,错误的是______。

A、是一个字符串

B、可能是4539670688

C、是一个正整数

D、是'45'的内存地址

AN:A

评析:id( )函数是Python内置函数之一,作用是获取对象的内存地址,返回对象的内存地址(是一个正整数)。

 

6、以下关于函数优点的描述中,错误的是______。

A、函数便于阅读

B、函数可以使程序更加模块化

C、函数可以减少代码重复

D、函数可以表现程序的复杂度

AN:D

评析: 使用函数主要有两个目的:降低编程难度和增加代码复用。表现程序的复杂度不属于函数的优点。

 

7、执行以下程序,根据提示输入3.2,回车后,输出结果是______。

flag = 0

try:

    b= int(input('请输入字符串总长度:'))

   print(type(B))

except:

       flag = 1

       print("请输入一个正整数:")

print(flag)

A、请输入一个正整数

    1

B、<class'float'>

    1

C、<class'int'>

    1

D、<class'int'>

    0

AN:A

评析: python中的try...except语句中,如果try语句块执行成功,就会执行try语句块,否则执行except异常语句。

b = int(input('请输入字符串总长度:')),要求输入一个整数,而题目输入的是3.2,try语句不成功,执行except中的语句。

 

8、使用Python的函数,需要的步骤不包括______。

A、函数定义

B、函数测试

C、函数调用

D、函数执行

AN:B

评析: 使用函数的步骤中不包括函数测试。

 

9、以下代码的输出结果是______。

for s in "PythonNCRE":

   if s=="N":

       continue

   print(s,end="")

A、N

B、PythonCRE

C、Python

D、PythonNCRE

AN:B

评析: continue用来结束当前当次循环,即跳出循环体中下面尚未执行的语句,但不跳出当前循环。

由代码可知,当s=="N"条件成立时,跳出当前当次循环,不输出s的值,则最后的输出结果为PythonCRE。

 

10、以下代码的输出结果是______。

print('{:@>10.6}'.format('Fog'))

A、Fog@@@@

B、@@@@Fog

C、Fog@@@@@@@

D、@@@@@@@Fog

AN:D

评析:format( )方法的格式控制的语法格式如下:

{<参数序号>:<格式控制标记>}

格式控制标记包括:<填充><对齐><宽度><,><.精度><类型>等六个字段,这些字段都是可选的,可以组合使用。

填充常跟对齐一起使用,^、<、>分别是居中、左对齐、右对齐,后面带宽度,引导符号':'后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充。

所以填充字符为@,宽度为10,精度为6,也就是字符串最大输出长度为6。Fog长度为3,可以正常输出。>表示右对齐,所以输出结果为@@@@@@@Fog。

 

11、不是Python内置函数的选项是______。

A、divmod( )

B、type( )

C、ord( )

D、compare( )

AN:D

评析:divmod返回商和余数;type返回变量数据类型;ord返回字符的ASCII码。D选项不属于内置函数。

 

12、以下关于随机运算函数库的描述,错误的是______。

A、用random(a,b)产生一个[0.0,1.0)之间的随机小数

B、random.choice([1,2,3])函数返回的值有可能是3

C、Python的random库釆用梅森旋转算法生成伪随机数序列

D、random.sample(pop,k)返回从pop类型中随机选取的k个元素构成的列表

AN:A

评析:ramdom( ):生成一个[0.0,1.0)之间的随机小数。

 

13、以下关于"for<循环变量> in <循环结构>"的描述,错误的是______。

A、这个循环体语句中不能有break语句,会影响循环次数

B、<循环结构>采用[1,2,3]和['1','2','3']的时候,循环的次数是一样的

C、使用range(a,B)函数指定for循环的循环变量取值是从a到b-1

D、foriinrange(1,10,2)表示循环5次,i的值是从1到9的奇数

AN:A

评析:break是辅助循环控制的保留字,用来跳出最内层for或while循环,脱离该循环后程序从循环后的代码继续执行。

 

14、为以下程序填空,使得输出结果是{40:'yuwen',20:'yingyu',30:'shuxue'}的选项是______。

    tb = {'yingyu':20, 'shuxue':30, 'yuwen':40}

    stb = {}

    for it in tb.items( ):

        print(it)

        ________________

    print(stb)

A、stb[it[1]]=tb[it[0]]

B、stb[it[1]]=stb[it[0]]

C、stb[it[1]]=tb[it[1]]

D、stb[it[1]]=it[0]

AN:D

评析:{}用于生成一个空字典,d.items()返回所有的键值对。在本题中,变量it中每一次循环存储一对键值对。题面要求将每一对键值对的键和值交换位置,使用语句stb[it[1]] = it[0]。

 

15、表达式max({2:10,8:4,5:9})的结果是______。

A、10

B、9

C、5:9

D、8

AN:D

评析:字典由键值对组成,max(D)输出的是最大的键。

 

16、当用户输入apple,banana,bear时,以下代码的执行结果是______。

a=input("").split(",")

x=0

while x<len(a):

    print(a[x],end="&")

    x=x+1

A、apple&banana&bear

B、apple&banana&bear&

C、apple,banana,bear

D、执行出错

AN:B

评析:a将输入的字符串以逗号分割为列表。x初始化为0,len为列表元素个数。while部分表示,当x小于列表元素个数时,返回索引号为x的元素,并以"&"结束打印。而列表索引是从0开始的,故而从第一个元素开始打印,每次都以"&"结尾,所以选B。

 

17、以下关于控制结构的描述,错误的是______。

A、break的功能是跳出当前循环控制块

B、在for结构中使用continue,会开始遍历下一个元素

C、Python的多分支结构里,可以包含多个elif语句

D、break也可用于跳出try-except控制块

AN:D

评析:异常处理中使用try-except即可抛出异常,break不能跳出异常。

 

18、以下语句的执行结果是______。

y1=''

y2=' '

print(y1.isspace( ),y2.isspace( ))

A、True True

B、False True

C、False False

D、True False

AN:B

评析:isspace( )方法检测字符串是否只由空格组成。如果字符串中只包含空格,则返回 True,否则返回False。y1是空字符串,不包含空格,返回False;y2只包含一个空格,返回True。

 

19、关于函数定义,以下形式错误的是______。

A、deffoo(a,b)

B、deffoo(a,b=10)

C、deffoo(a,*b)

D、deffoo(*a,b)

AN:D

评析:如果一个函数需要以多种形式来接收实参,定义时一般把位置参数放在最前面,然后是默认参数,接下来是一个星号的可变长度参数,最后是两个星号的可变长度参数。例:def foo(x,*args,**kwargs):

 

20、以下语句的执行结果是______。

dd = {'chinese':200, 'pe':187, 'Gana':930}

print(dd.keys( ))

A、200,187,930

B、'chinese':'pe':'Gana'

C、dict_keys(['chinese','pe','Gana'])

D、['chinese','pe','Gana']

AN:C

评析:字典由键值对组成,dd.keys( )返回字典中的所有键的信息,返回结果是Python的一种内部数据类型dict_keys。

 

是非题:(10*1分,共10分)

21、 表达式 {1, 2} * 2 的值为 {1, 2, 1, 2}。

 

22、 下面代码的输出结果是:666

class Myclass( ):

    i=666

    def f(self):

       return 'pressureor passion'

x=Myclass( )

print(x.i)

评析:实例属性只能通过实例访问,不能通过类直接访问。但类属性可以被类本身访问,也可以被实例访问。

类Myclass中定义了一个类属性i。使用print(x.i)输出实例x的属性i。由于实例x没有单独定义i属性,因此访问的是类属性i,其值为 666。

 

23、执行以下程序后,s的值是1035。

k,s=1,0

while True:

    s,k=s+k,k+1

    if s>1000:break

 

24、 类Student的定义如下,则__locked为类的私有属性。

class Student( ):

    __locked=0

    def __init__(self,name,age):

       self.name=name

       self.age=age

评析:前缀双下划线__表示这是一个私有属性。这种命名方式表明该属性不能被外部直接访问或修改。

 

25、 以下代码的作用是:输入整数a,输出[1,a]上全部整数的和。

s=0

a=int(input( ))

b=a

for i in range(1,a+1): s+=b;b+=i

print(s)

 

26、 函数f定义如下,则y=f(f(1,3),5)的返回值是225

def f(x,y):

     return x**2+y**2

 

27、 执行以下程序后,a的值是3。

x =93

a=3 if x>=90 else 2

if x<60:a=0

elif x<75:a=1

 

28、执行以下代码后,min(a)+max(a)的值是102

a=int("1010",2),ord("a"),len("abcde")

 

29、 以下程序的输出是:2, 3,4, 5

s=[4,2,3,5]

s.sort( )

print(str(s)[1:-1])

 

30、 文件a.txt的内容是:hollow。以下程序的输出是:hollow

file=open('a.txt','r')

print(file.readline( ))

file.close( )

 

程序改错题:(共10分)

31、程序PY111.py的功能是,创建圆的处理类Circle,计算并输出圆的周长和面积。

输入圆的半径:10

输出:圆周长= 62.831852  圆面积= 314.15926

请改正程序中的错误,使程序能输出正确结果。

# _*_ coding:gbk _*_

class Circle( ):

#**************found**************#

   def __int__(self, radius):

       self.radius = radius

       self.perimeter = 2 * 3.1415926 * radius

   def get_area(self):

       return 3.1415926 * self.radius * self.radius

 

r = float(input("输入圆的半径:"))

#**************found**************#

cir = circle(r)

#**************found**************#

print("圆周长=",cir.get_perimeter( ))

print("圆面积=",cir.get_area( )) 

 

程序填空题:(共15分)

32、考生文件夹(D:\Exam\Python程序设计\2023****\32)PY201.py代码含义是:从键盘输入一个正整数,输出这个数的全部真因子。请将代码补充完整。

#**************found**************#

n= ____(1)____ (input( ))

b=[ ]

for i in range(1,n):

#**************found**************#

  if____(2)____==0:

#**************found**************#

    b.____(3)____

for x in b:

  print(x,end=" ")

  

编程题:(共5分)

33、程序PY059.py中函数fun(m,n)的功能是:统计区间【m,n】内除3余2,且个位数字为"6"的整数个数。请在指定位置编写程序代码,使程序能输出正确结果。程序运行结果如下:

输入m,n的值(逗号分隔):1,1000

输出: 33

 

def fun(m,n):

#请在注释内输入程序代码

   c=0

   for i in range(m,n+1):

       if i%3==2 and i%10==6:

           c+=1

   return c

#

 

# 主程序

m,n = eval(input("输入m,n的值(逗号分隔):"))

print(f"{fun(m,n)}")