目录

  • 前言
    • ●  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 类的继承与多态
 理论考试模拟试题A

单选题:

1、不能创建字典的是______。

A、a=dict(XH=9001,XM="ZSan")

B、a=dict([("XH",9001),("XM","ZSan")])

C、a={XH:9001,XM:"ZSan"}

D、a={}.fromkeys(["XH","XM"],0)

ANS:C

 

2、不能表示逻辑真的是______。

A、非空字符串

B、非零数值

C、None

D、非空序列

ANS:C

试题评析:Python 中以下值始终为 False:None、False、零值(如 0、0.0、0j)、空序列或集合(如 ""、[ ]、( )、{ }、set( ))

 

3、以下选项不属于Python的pip工具的功能是______。

A、打包python源代码

B、安装第三方python库

C、卸载已经安装了的第三方库

D、对第三方库进行基本的维护

ANS:A

 

4、以下不是Python语言所使用特殊含义符号的是______。

A、&=

B、**

C、^

D、?

ANS:D


 5、关于字典的描述,错误的是______。

A、字典的元素以键为索引进行访问

B、字典的一个键可以对应多个值

C、字典长度是可变的

D、字典是键值对的结合,键值对之间没有顺序

ANS:B

试题评析:选项B是错误的。在Python字典中,每个键都是唯一的,并且只能映射到一个值。如果想让一个键对应多个值,需要将这个值设置为列表、元组或其他容器类型。例如:{"key": [value1, value2]}。

 

6、以下关于随机运算函数库的描述,正确的是______。

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

B、使用random.random( )生成随机数前,必须先用random.seed( )函数初始化随机数种子

C、Python的random库通过pip进行安装库

D、random.randint(a,b)产生一个[a,b]之间的随机整数

ANS:D

 

7、以下代码中,能够计算字典d中键值的和的是_______。

A、add(d.value( ))

B、sum(d.value( ))

C、add(d.values( ))

D、sum(d.values( ))

ANS:D

 

8、为不可变集合内置函数的是______。

A、clear

B、pop

C、add

D、difference

ANS:D

 

9、以下程序的输出结果是______。

def hub(ss, x = 2.0,y = 4.0):

   ss += x * y

ss = 10

print(ss, hub(ss, 3))

A、22None

B、10None

C、10.022.0

D、22.0None

ANS:B

 

10、以下的描述中,不属于Python语言控制结构的是______。

A、循环结构

B、程序异常

C、跳转结构

D、顺序结构

ANS:C

 

11、以下关于字符串类型的操作的描述,正确的是______。

A、想获取字符串str的长度,用字符串处理函数len(str)

B、设x='aaa',则执行x/3的结果是'a'

C、想把一个字符串str所有的字符都大写,用upper(str)

D、str.isnumeric( )方法把字符串str中数字字符变成数字

ANS:A

 

12、字符串tstr='television',显示结果为vi的选项是______。

A、print(tstr[-6:6])

B、print(tstr[5:7])

C、print(tstr[4:7])

D、print(tstr[4:-2])

ANS:A

 

13、以下关于Python语言的描述中,错误的是______。

A、函数中return语句只能放在函数定义的最后面

B、定义函数需要使用保留字def

C、使用函数最主要的作用之一是复用代码

D、Python函数可以定义在分支或循环语句的内部

ANS:A

 

14、以下关于Python语言的描述中,正确的是______。

A、条件11<=22<33是合法的,输出True

B、条件11<=22<33是合法的,输出False

C、条件11<=22<33是不合法的

D、条件11<=22<33是不合法的,抛出异常

ANS:A

 

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

A、divmod( )

B、type( )

C、ord( )

D、compare( )

ANS:D

 

16、以下关于文件的描述,错误的是______。

A、当文件以二进制方式打开的时候,是按字节流方式读写

B、open( )打开文件后,返回一个文件对象,用于后续的文件读写操作

C、open( )打开一个文件,同时把文件内容载入内存

D、write(x)函数要求x必须是字符串类型,不能是int类型

ANS:C

试题评析:open( )只是打开文件并创建一个文件对象,并不会自动将整个文件内容加载到内存中。

文件内容只有在调用read( )或readlines( )等方法时才会被读入内存。所以C是错误的说法。

 

17、若s={3,6,74,3,87},则sum(s)的值是______。

A、164

B、170

C、173

D、80


ANS:B

 

18、以下对Python语言定位的表述正确的是______。

A、数据分析专用语言

B、有大量官方API的编程语言

C、解释型脚本语言

D、编译型语言

ANS:C

试题评析:C正确。Python 是一种解释型语言,代码在运行时由解释器逐行执行,而不是像 C/C++ 那样先编译成机器码。同时它也常被归类为脚本语言(scripting language),适合快速开发、脚本编写等场景。

 


19、以下关于Python字典变量的定义中,错误的是______。

A、d = {1:[1,2], 3:[3,4]}

B、d = {[1,2]:1, [3,4]:3}

C、d = {(1,2):1, (3,4):3}

D、d = {'张三':1, '李四':2}

ANS:B

 

20、如果Python程序执行时产生了"unexpected indent"错误,其原因可能是______。

A、代码缩进不正确

B、代码变量未赋初值

C、代码使用了错误的保留字

D、代码进入了死循环状态

ANS:A

 

是非题:

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

s=0

a=int(input( ))

b=a

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

print(s)

 

22、以下代码的作用是:输入一个字符串,输出出现次数最多的全部字符(空格除外)。

s=input( )

s=s.replace(" ","")

a=max(s,key=s.count)

n=s.count(a)

b=[ ]

for x in s:

    if s.count(x)==n and x not in b:b.append(x)

print("".join(b))

 

23、函数fuc定义如下,则fuc(7,26)的值是23。

def fuc(a,b):

    a,b=b,a

    return (a-b) | b

 

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

x,a=89,3

if x<60:a=0

if x<75:a=1

if x<90:a=2

 

25、类Hello定义如下,则利用"h=Hello( )"可创建该类的实例。

class Hello( ):

   def __init__(self,name):

       self.name=name

 试题评析:__init__ 方法需要一个参数name,所以在实例化的时候必须传入对应的实参。


26、执行以下代码后b的值是:610

a,b=0,1

while b<200:

   print(b,end='  ')

   a,b=b,a+b

 

27、执行以下代码后,如果输入的是"abc  34 5p ",则len(s)的值是3。

s=input( )

s=s.split( )

 

28、以下程序运行时,如果输入的第一个字符是"A",则输出一定是"02"。

s=""

try:

   number = int(input( ))

except Exception as e:s+="0"

else:s+="1"

finally:s+="2"

print(s)

 

29、运行以下代码时,输入"36.52"时n的值是36。

s=input( )

try:

   n=int(s)

   assert n>0

except:n=-1

 

30、执行以下代码后,min(a)+max(a)+sum(a)的值是214。

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

 

程序改错题:

31、在PY107.py中定义一个用户类(User),用户名(username)和密码(password)是这个类的属性。

(1)实例化两个用户,输出不同的用户名和密码。
(2)设计一个方法reset_password, 修改密码并输出新密码。

代码中有错误,请改正后运行。

class User:

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

   def init(self, username, password):    #构造函数的正确写法,__init__

       self.username = username

       self.password = password

       print(f"用户名:{self.username},密码:{self.password}")

 

   def reset_password(self, password_new):

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

       self.password = password        #更新密码,self.password = password_new

       print(f"用户名:{self.username},新密码为:{password_new}")

 

A = User("liuao", 12345)

B = User("hwh", 12346)

pw=int(input("请输入新密码:"))

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

reset_password(A)        #通过实例A调用方法,A.reset_password(pw)

 

程序填空题:

32、在考生文件夹(D:\Exam\Python程序设计\202*****\32)下存在一个Python源文件PY246.py,请编写代码替换横线,不修改其他代码,实现下面功能:让用户输入数,如果用户输入的不是数字,则屏幕上输出相应提示后结束程序的运行。如果用户输入的是数字,则为其加密,并输出加密结果。

加密算法如是:设原数为a;在其数值上加上100,得到b;在末尾添上8,得到c;将b去掉末两位后得到d;c乘以d后得到e,再将e逆序输出。

示例如下(其中数据仅用于示意):

输入:2021

输出:加密后的为:875544

try:

   sno=input('输入需要加密的数: ')

   sno_num_1=int(sno)           #sno_num_1对应题面a

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

___________(1)___________:        #捕获输入非数字时抛出的异常

   print("请输入数字,不要输入其他非数字字符!")

else:

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

   sno_num_2=___________(2)___________    #sno_num_2对应题面b(数值型)(sno_num_1+100)

   sno_str=str(sno_num_2) 

   sno_str_1=sno_str + "8"                #sno_str_1对应题面c(字符型)

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

   sno_str_2=___________(3)___________        #sno_str_2对应题面d(字符型)(sno_str[:-2])

   d=int(sno_str_2)

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

   sno_num_3=___________(4)___________      #sno_num_3对应题面c(数值型)(int(sno_str_1))

   sno_num_4=sno_num_3*d        #sno_num_4对应题面e(数值型)

   sno_str_3=str(sno_num_4)        #sno_str_3对应题面e(字符型)

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

   sno_str_4=___________(5)___________        #e逆序(sno_str_3[::-1])

   print(f"加密后的为:{sno_str_4}")

 

编程题:

33、程序PY042.py中函数fun(x)的功能是:计算s=1+3+5+……+2*k-1 (k为自然数),求满足s>x的最小s值。请在指定位置编写程序代码,使程序能输出正确结果。程序运行结果如下:

输入x的值:10

输出:满足大于10的最小s值: 16

def fun(x):

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

   k, s = 1, 0

   while s<x:

       s += 2 * k - 1

       k += 1

   return s

#


# 主程序

x = int(input("输入x的值:"))

print(f"满足大于{x}的最小s值: {fun(x)}")