0


Python基础知识题库(带答案)

  • 单项选择题

第一章python语法基础

  1. Python 3.x 版本的保留字总数是C

A 27

B 29

C 33

D 16

2.以下选项中,不是 Python 语言保留字的是C

A while

B pass

**C do **

D except

3.关于 Python 程序格式框架,以下选项中描述错误的是A

A Python 语言不采用严格的“缩进”来表明程序的格式框架

B Python 单层缩进代码属于之前最邻近的一行非缩进代码,多层缩进代码根据缩进关系决定所属范围

C Python 语言的缩进可以采用 Tab 键实现

D 判断、循环、函数等语法形式能够通过缩进包含一批 Python 代码,进而表达对应的语义

  1. 下列选项中不符合Python语言变量命名规则的是C

A TempStr

B I

C 3_1

D _AI

5.以下选项中,关于Python字符串的描述错误的是D

A Python语言中,字符串是用一对双引号""或者一对单引号 '' 括起来的零个或者多个字符

B 字符串包括两种序号体系:正向递增和反向递减

C 字符串是字符的序列,可以按照单个字符或者字符片段进行索引

D Python字符串提供区间访问方式,采用[N:M]格式,表示字符串中从N到M的索引子字符串(包含N和M)

6.给出如下代码B

TempStr ="Hello World"

可以输出“World”子串的是

A . print(TempStr[–5:0])

B print(TempStr[–5:])

C print(TempStr[–5: –1])

D print(TempStr[–4: –1])

  1. 关于赋值语句,以下选项中描述错误的是B

A a,b = b,a 可以实现a 和 b值的互换

B a,b,c = b,c,a 是不合法的

C 在Python语言中,“=”表示赋值,即将“=”右侧的计算结果赋值给左侧变量,包含“=”的语句称为赋值语句

D 赋值与二元操作符可以组合,例如&=

8.关于eval函数,以下选项中描述错误的是B

A eval函数的定义为:eval(source, globals=None, locals=None, /)

B 执行“>>> eval("Hello")”和执行“>>> eval("'Hello'")”得到相同的结果

C eval函数的作用是将输入的字符串转为Python语句,并执行该语句

D 如果用户希望输入一个数字,并用程序对这个数字进行计算,可以采用eval(input(<输入提示字符串>))组合

9.关于Python语言的注释,以下选项中描述错误的是D

A Python语言有两种注释方式:单行注释和多行注释

B Python语言的单行注释以#开头

C Python语言的多行注释以'''(三个单引号)开头和结尾

D Python语言的单行注释以单引号 ' 开头

10.关于Python语言的特点,以下选项中描述错误的是B

A Python语言是脚本语言

B Python语言是非开源语言

C Python语言是跨平台语言

D Python语言是多模型语言

11.关于import引用,以下选项中描述错误的是A

A 可以使用from turtle import setup 引入turtle库

B 使用import turtle as t引入turtle库,取别名为t

C 使用import turtle引入turtle库

D import保留字用于导入模块或者模块中的对象

12.下面代码的输出结果是C

print(0.1+0.2==0.3)

A false

B True

C False

D true

13.下面代码的输出结果是D

print(round(0.1 + 0.2,1) == 0.3)

A 0

B 1

C False

D True

  1. 在一行上写多条Python语句使用的符号是C

A 点号

B 冒号

C 分号

D 逗号

15.给出如下代码A

s = 'Python is beautiful!'

可以输出“python”的是

A print(s[0:6].lower())

B print(s[:–14])

C print(s[0:6])

D print(s[–21: –14].lower)

16.给出如下代码

s = 'Python is Open Source!'

print(s[0:].upper())

上述代码的输出结果是 D

A PYTHON

B PYTHON IS OPEN SOURCE

C Python is Open Source!

D PYTHON IS OPEN SOURCE!

17.以下选项中,符合Python语言变量命名规则的是 A

A Templist

B !1

C (VR)

D 5_1

18.下列选项中可以准确查看Python代码的语言版本(3.5.3)的是 A

A >>> import sys >>> sys.version

B >>> import sys >>> sys.exc_info()

C >>> import sys >>> sys.path

D >>> import sys >>> sys.version—info

19.下列选项中可以获取Python整数类型帮助的是 C

A >>> help(float)

B >>> dir(str)

C >>> help(int)

D >>> dir(int)

  1. 给出如下代码:

x = 3.14

eval('x + 10')

上述代码的输出结果是** C**

A TypeError: must be str, not int

B 系统 错

C 13.14

D 3.1410

  1. Python语言的主网站网址是 B

A https://www.python123.org/

B https://www.python.org/

C Python123 - 编程更简单

D https://pypi.python.org/pypi

22.下列Python保留字中,用于异常处理结构中用来捕获特定类型异常的是B

A def

B except

C while

D pass

23.关于Python注释,以下选项中描述错误的是A

A Python注释语句不被解释器过滤掉,也不被执行

B 注释可用于标明作者和版权信息

C 注释可以辅助程序调试

D 注释用于解释代码原理或者用途

24.以下选项中,不是Python数据类型的是A

A 实数

B 列表

C 整数

D 字符串

25.下列Python保留字中,不用于表示分支结构的是B

A elif

B in

C if

D else

26.以下选项中,不属于Python保留字的是C

A def

B import

C type

D elif

27.以下选项中,对程序的描述错误的是A

A 程序是由一系列函数组成的

B 通过封装可以实现代码复用

C 可以利用函数对程序进行模块化设计

D 程序是由一系列代码组成的

28.利用print()格式化输出,能够控制浮点数的小数点后两位输出的是B

A {.2}

B {:.2f}

C {:.2}

D {.2f}

29.以下选项中可用作Python标识符的是C

A 3B9909

B class

C ____

D it's

30.关于Python赋值语句,以下选项中不合法的是A

A x=(y=1)

B x,y=y,x

C x=y=1

D x=1;y=1

31.以下选项中,不是Python语言保留字的是A

A int

B del

C try

D None

32.关于Python程序中与“缩进”有关的说法中,以下选项中正确的是C

A 缩进统一为4个空格

B 缩进可以用在任何语句之后,表示语句间的包含关系

C 缩进在程序中长度统一且强制使用

D 缩进是非强制性的,仅为了提高代码可读性

33.以下选项中可访问字符串s从右侧向左第三个字符的是C

A s[3]

B s[:-3]

C s[-3]

D s[0:-3]

  1. Python3.0正式发布的年份是D

A 1990

B 2018

C 2002

D 2008

35.以下选项中,不是IPO模型一部分的是A

A Program

B Input

C Output

D Process

36.以下选项中,不是Python语言合法命名的是A

A 5MyGod

B MyGod5

C MyGod

D MyGod

37.在Python函数中,用于获取用户输入的是A

A input()

B print()

C Eval()

D get()

38.给标识符关联名字的过程是B

A 赋值语句

B 命名

C 表达

D 生成语句

46.以下选项中,不是Python打开方式的是A

A Office

B Windows系统的命令行工具

C 带图形界面的Python Shell-ID LE

D 命令行版本的Python Shell-Python 3.x

47.查看Python是否安装成功的命令是C

A Win + R

B PyCharm

C python3.4 –v

D exit()

48.以下选项中,不是Python IDE的是D

A Py

C harm

B Jupyter Notebook

C Spyder

D R studio

  1. Python为源文件指定系统默认字符编码的声明是C

A #coding:cp936

B #coding:GB2312

C #coding:utf-8

D #coding:GBK

50.下面代码的语法错误显示是A

print "Hello World!"

A SyntaxError: Missing parentheses in call to 'print

B <built-in function print><o:p></o:p>

C NameError: name 'raw_print' is not defined

D SyntaxError: invalid character in identifier

第二章 基本数据类型

1.关于Python的数字类型,以下选项中描述错误的是

A 复数类型虚部为0时,表示为1+0j

B 1.0是浮点数,不是整数

**C **浮点数也有十进制、二进制、八进制和十六进制等表示方式

D 整数类型的数值一定不会出现小数点

2.下面代码的输出结果是

x = 12.34

print(type(x))

A <class 'float'>

B <class 'complex'>

C <class 'bool'>

D <class 'int'>

3.下面代码的输出结果是

print(pow(2,10))

A 100

B 12

C 1024

D 20

4.下面代码的输出结果是

x=0b1010

print(x)

A 1024

B 10

C 16

D 256

5.下面代码的输出结果是

x=0o1010

print(x)

A 10

B 1024

C 520

D 2768

6.下面代码的输出结果是

x=0x1010

print(x)

A 4112

B 520

C 10

D 1024

7.关于Python的浮点数类型,以下选项中描述错误的是

A 浮点数类型与数学中实数的概念一致,表示带有小数的数值

B sys.float_info可以详细列出Python解释器所运行系统的浮点数各项参数

C Python****语言的浮点数可以不带小数部分

D 浮点数有两种表示方法:十进制表示和科学计数法

8.关于Python的复数类型,以下选项中描述错误的是

A 复数类型表示数学中的复数

*B 对于复数z,可以用z.imagl*获得实数部分

C 复数的虚数部分通过后缀“J”或“j”来表示

D 对于复数z,可以用z.real获得实数部分

9.下面代码的输出结果是

z = 12.12 + 34j

print(z.real)

A 34

B 34.0

C 12.12

D 12

10.下面代码的输出结果是

z = 12.34 + 34j

print(z.imag)

A 12.12

B 34.0

C 12

D 34

11.下面代码的输出结果是

x=10

y=–1+2j

print(x+y)

A (9+2j)

B 11

C 2j

D 9

12.下面代码的输出结果是

x=10

y=3

print(x%y,x**y)

A 1 1000

B 3 30

C 3 1000

D 1 30

13.下面代码的输出结果是

x=10

y=4

print(x/y,x//y)

A 2 2.5

B 2.5 2.5

C 2.5 2

D 2 2

14.下面代码的输出结果是

x=10

y=3

print(divmod(x,y))

A 3,1

B (3,1)

C (1,3)

D 1,3

15.下面代码的输出结果是

x=3.1415926

print(round(x,2) ,round(x))

A 2 2

B 6.28 3

C 3.14 3

D 3 3.14

16.下面代码的输出结果是

a = 5

b = 6

c = 7

print(pow(b,2) –4ac)

A 104

B 系统报错

C -104

D 36

17.关于Python字符串,以下选项中描述错误的是

A 字符串可以保存在变量中,也可以单独存在

B 字符串是一个字符序列,字符串中的编号叫“索引”

**C 可以使用datatype()**测试字符串的类型

D 输出带有引号的字符串,可以使用转义字符\

18.下面代码的执行结果是

a = 123456789

b = "*"

print("{0:{2}>{1},}\n{0:{2}^{1},}\n{0:{2}<{1},}".format(a,20,b))

A *********123,456,789

*********123,456,789

123,456,789*********

B 123,456,789*

123,456,789*

123,456,789*********

C *********123,456,789

123,456,789*********

123,456,789*

D *********123,456,789

123,456,789*

123,456,789*********

19.下面代码的执行结果是

a = 10.99

print(complex(a))

A 10.99

B (10.99+0j)

C 10.99+0j

D 0.99

20.下面代码的执行结果是

x = "Happy Birthday to you!"

x * 3

A 系统报错

B Happy Birthday to you!

C 'Happy Birthday to you!Happy Birthday to you!Happy Birthday to you!'

D Happy Birthday to you!
Happy Birthday to you!
Happy Birthday to you!

21.关于Python字符编码,以下选项中描述错误的是

A ord(x)和chr(x)是一对函数

B Python默认采用Unicode字符编码

C chr(x)将字符转换为Unicode编码

D Python可以处理任何字符编码文本

22.给出如下代码

s = "Alice"

print(s[::–1])

上述代码的输出结果是

A ecilA

B ALI

C E

C Alice

D Alic

23.给出如下代码

s= "abcdefghijklmn"

print(s[1:10:3])

上述代码的输出结果是

A behk

B adgj

C beh

D adg

24.给出如下代码

for i in range(12):

print(chr(ord("♈")+i),end="")

以下选项描述错误的是

A 输出结果为♈♉♊♋♌♍♎♏♐♑♒♓

B 系统报错

C chr(x)函数返回Unicode编码对应的字符

D ord("♈")返回"♈"字符对应的Unicode编码

25.下面代码的输出结果是

hex(255)

A '0eff'

B '0off'

C '0xff'

D '0bff'

26.下面代码的输出结果是

oct(–255)

A '0d–377'

B '0o–377'

C '–0d377'

D '–0o377'

27.下面代码的输出结果是

bin(10)

A '0o1010'

B '0d1010'

C '0b1010'

D '0x1010'

28.给出如下代码 以下选项中描述正确的是

for i in range(6):

print(chr(ord(9801)+i),end="")

A chr ("a")返回"a"字符对应的Unicode编码

B 系统报错

C 输出结果为♈♉♊♋♌♍

D ord(x)函数返回x的Unicode编码对应的字符

29.给出如下代码:如下描述错误的是

for i in range(10):

print(chr(ord("!")+i),end="")

A 系统报错

B ord("!")返回"!"字符对应的Unicode编码

C 输出结果为!"#$%&'()*

D chr(x)函数返回Unicode编码对应的字符

30.下列选项中输出结果是True的是

A >>> isinstance(255,int)

B >>> chr(13).isprintable()

C >>> "Python".islower()

D >>> chr(10).isnumeric()

31.下面代码的输出结果是

s1 = "The python language is a scripting language."

s1.replace('scripting','general')

print(s1)

A The python language is a scripting language.

B 系统报错

C ['The', 'python', 'language', 'is', 'a', 'scripting', 'language.']

D The python language is a general language.

32.下面代码的输出结果是

s1 = "The python language is a scripting language."

s2 = s1.replace('scripting','general')

print(s2)

A The python language is a scripting language.

B ['The', 'python', 'language', 'is', 'a', 'scripting', 'language.']

C 系统报错

D The python language is a general language.

33.下面代码的输出结果是

s = "The python language is a cross platform language."

print(s.find('language',30))

A 系统报错

B 40

C 11

D 10

34.下面代码的输出结果是

s = "The python language is a multimodel language."

print(s.split(' '))

A Thepythonlanguageisamultimodellanguage.

B ['The', 'python', 'language', 'is', 'a', 'multimodel', 'language.']

C The python language is a multimodel language.

D 系统报错

35.下面代码的输出结果是

a ="Python"

b = "A Superlanguage"

print("{:->10}:{:-<19}".format(a,b))

A ----Python:A Superlanguage----

B ----Python:----A Superlanguage

C The python language is a multimodel language.

D Python----:----A Superlanguage

36.以下选项中,输出结果为False的是

A >>> 5 is 5

B >>> False !=0

C >>> 5 is not 4

D >>> 5 != 4

37.下面代码的输出结果是

True - False

A 1

B -1

C True

D 0

38.下面代码的输出结果是

**a = 2 **

**b = 2 **

c = 2.0

print(a == b, a is b, a is c)

A True False False

B True False True

C False False True

D True True False

39.#以下选项中,输出结果为False的是

A >>> 'python' < 'pypi'

B >>> 'AB

C

D ' == 'abcd'.upper()

C >>> 'python123' > 'python'

D >>> ''<'a'

40.下面代码的输出结果是

a,b,c,d,e,f = 'Python'

b

A 1

B 出错

C ‘y’

D 0

41.下面代码的输出结果是

a = b = c =123

print(a,b,c)

A 0 0 123

B 出错

C 1 1 123

D 123 123 123

42.下面代码的输出结果是

True / False

A True

B -1

C 0

D 系统报错

43.下面代码的输出结果是

x = 1

x *= 3+5**2

print(x)

A 29

B 28

C 13

D 14

44.下面代码的输出结果是

a = 5/3+5//3

print(a)

A 5.4

B 2.666666666666667

C 3.333333

D 14

45.下面代码的输出结果是

a = "alex"

b = a.capitalize()

print(a,end=",")

print(b)

A alex,ALEX

B ALEX,alex

C alex,Alex

D Alex,Alex

46.下面代码的输出结果是

a = 20

b = a | 3

a &= 7

print(b ,end=",")

print(a)

A 6.66667,4

B 4,6.66667

C 4,23

D 23,4

47.下面代码的输出结果是

a = "ac"

b = "bd"

c = a + b

print(c)

A dbac

B abcd

C acbd

D bdac

48.下面代码的输出结果是

str1 = "mysqlsqlserverPostgresQL"

str2 = "sql"

ncount = str1.count(str2)

print(ncount)

A 2

B 5

C 4

D 3

49.下面代码的输出结果是

True / False

A True

B 1

C 出错

D False

50.下面代码的输出结果是

str1 = "mysqlsqlserverPostgresQL"

str2 = "sql"

ncount = str1.count(str2,10)

print(ncount)

A 0

B 3

C 4

D 2

第三章 程序的控制结构

1.关于Python的分支结构,以下选项中描述错误的是

A Python中if-elif-else语句描述多分支结构

B 分支结构使用if保留字

C Python中if-else语句用来形成二分支结构

**D **分支结构可以向已经执行过的语句部分跳转

2.关于Python循环结构,以下选项中描述错误的是

A break用来跳出最内层for或者while循环,脱离该循环后程序从循环代码后继续执行

*B 每个continue*语句只有能力跳出当前层次的循环

C 遍历循环中的遍历结构可以是字符串、文件、组合数据类型和range()函数等

D Python通过for、while等保留字提供遍历循环和无限循环结构

3.关于Python循环结构,以下选项中描述错误的是

A continue****结束整个循环过程,不再判断循环的执行条件

B 遍历循环中的遍历结构可以是字符串、文件、组合数据类型和range()函数等

C Python通过for、while等保留字构建循环结构

D continue用来结束当前当次语句,但不跳出当前的循环体

4.下面代码的输出结果是

for s in "HelloWorld":

if s=="W":

    continue

print(s,end="")

A Hello

B HelloWorld

**C **Helloorld

D World

5.#下面代码的输出结果是

for s in "HelloWorld":

if s=="W":

    break

print(s,end="")

A HelloWorld

B Helloorld

C World

**D **Hello

6.于程序的异常处理,以下选项中描述错误的是

**A **编程语言中的异常和错误是完全相同的概念

B 程序异常发生后经过妥善处理可以继续执行

C 异常语句可以与else和finally保留字配合使用

D Python通过try、except等保留字提供异常处理功能

7.关于Python遍历循环,以下选项中描述错误的是

A 遍历循环通过for实现

**B **无限循环无法实现遍历循环的功能

C 遍历循环可以理解为从遍历结构中逐一提取元素,放在循环变量中,对于所提取的每个元素只执行一次语句块

D 遍历循环中的遍历结构可以是字符串、文件、组合数据类型和range()函数等

8.关于Python的无限循环,以下选项中描述错误的是

A 无限循环一直保持循环操作,直到循环条件不满足才结束

B 无限循环也称为条件循环

C 无限循环通过while保留字构建

**D **无限循环需要提前确定循环次数

9.下面代码的输出结果是

for i in "Python":

print(i,end=" ")

A P,y,t,h,o,n,

B****P y t h o n

C Python

D P y t h o n

10.给出如下代码:

import random

num = random.randint(1,10)

while True:

guess = input()

i = int(guess)

if i == num:

    print("你猜对了")

    break

elif i < num:

    print("小了")

elif i > num:

    print("大了")

以下选项中描述错误的是

A random.randint(1,10) 生成[1,10]之间的整数

*B import random*”这行代码是可以省略的

C 这段代码实现了简单的猜数字游戏

D “while True:”创建了一个永远执行的While循环

11.给出如下代码:

a=3

while a > 0:

a -= 1

print(a,end=" ")

以下选项中描述错误的是:

A a -= 1 可由 a = a – 1实现

**B 条件a > 0 如果修改为a < 0 **程序执行会进入死循环

C 使用while 保留字可创建无限循环

D 这段代码的输出内容为2 1 0

12.下列快捷键中能够中断(Interrupt Execution)Python程序运行的是

A F6

B C trl + Q

C C trl + C

D C trl + F6

13.给出如下代码:

sum = 0

for i in range(1,11):

sum += i

print(sum)

以下选项中描述正确的是:

A 循环内语句块执行了11次

B sum += i 可以写为 sum + = i

C 如果print(sum) 语句完全左对齐,输出结果不变

*D 输出的最后一个数字是55*

14.关于break语句与continue语句的说法中,以下选项中不正确的是

A continue语句类似于break语句,也必须在for、while循环中使用

B break语句结束循环,继续执行循环语句的后续语句

C 当多个循环语句嵌套时,break语句只适用于最里层的语句

D continue****语句结束循环,继续执行循环语句的后续语句

15. random.uniform(a,b)的作用是

A 生成一个[a, b]之间的随机整数

B 生成一个(a, b)之间的随机数

C 生成一个均值为a,方差为b的正态分布

**D 生成一个[a, b]**之间的随机小数

16.实现多路分支的最佳控制结构是

A if

B try

**C if-elif-else **

D if-else

17.给出下面代码:

age=23

start=2

if age%2!=0:

start=1

for x in range(start,age+2,2):

print(x)

上述程序输出值的个数是:

A 10

B 12

C 16

D 14

18.下面代码的执行结果是

print(pow(3,0.5)*pow(3,0.5)==3)

A True

B pow(3,0.5)*pow(3,0.5)==3

C False

D 3

19.给出下面代码:

k=10000

while k>1:

print(k)

k=k/2

上述程序的运行次数是:

**A 14 **

B 1000

C 15

D 13

20.关于Python语句P=–P,以下选项中描述正确的是

A P的绝对值

*B P*赋值为它的负数

C P=0

D P等于它的负数

21.以下选项中能够实现Python循环结构的是

A loop

B do...for

**C while **

D if

22.用来判断当前Python语句在分支结构中的是

A 引号

B 冒号

C 大括号

**D **缩进

23.以下选项中描述正确的是

*A 条件24<=28<25是合法的,且输出为False*

B 条件35<=45<75是合法的,且输出为False

C 条件24<=28<25是不合法的

D 条件24<=28<25是合法的,且输出为True

24.于while保留字,以下选项中描述正确的是

A while True: 构成死循环,程序要禁止使用

B 使用while必须提供循环次数

C 所有while循环功能都可以用for循环替代

*D 使用while*能够实现循环计数

25.random库中用于生成随机小数的函数是

A randrange()

**B random() **

C randint()

D getrandbits()

26.以下选项中能够最简单地在列表['apple','pear','peach','orange']中随机选取一个元素的是

A sample()

B random()

**C choice() **

D shuffle()

27.Python异常处理中不会用到的关键字是

A finally

B else

C try

D if

28.下面代码的输出结果是

for i in range(1,6):

if i%3 == 0:

    break

else:

    print(i,end =",")

A 1,2,3,

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

**C ****1,2, **

D 1,2,3,4,5,

29.下面代码的输出结果是

for i in range(1,6):

if i/3 == 0:

    break

else:

    print(i,end =",")

A 1,2,3,

**B ****1,2,3,4,5, **

C 1,2,3,4,

D 1,2,

30.下面代码的输出结果是

sum = 0

for i in range(2,101):

if i % 2 == 0:

   sum += i

else:

   sum -= i

print(sum)

A -50

**B 51 **

C 50

D 49

31.下面代码的输出结果是

sum=0

for i in range(0,100):

if i%2==0:

    sum-=i

else:

    sum+=i

print(sum)

A -50

B 49

C 50

D -49

32.下面代码的输出结果是

for i in range(1,10,2):

print(i,end=",")

A 1,4,

B 1,4,7,

**C **1,3,5,7,9,

D 1,3,

33.下面代码的输出结果是

sum = 1

for i in range(1,101):

sum += i

print(sum)

A 5052

B 5051

C 5049

D 5050

34.下面代码的输出结果是

a = []

for i in range(2,10):

count = 0

for x in range(2,i-1):

    if i % x == 0:

        count += 1

if count != 0:

    a.append(i)

print(a)

A [3 ,5 ,7 ,9]

**B ****[4, 6, 8, 9] **

C [4 ,6 ,8 ,9 ,10]

D [2 ,3 ,5 ,7]

35.下面代码的输出结果是

x2 = 1

for day in range(4,0,-1):

x1 = (x2 + 1) * 2

x2 = x1

print(x1)

A 46

B 23

C 94

D 190

36.下面代码的输出结果是

for num in range(2,10):

if num > 1:

    for i in range(2,num):

        if (num % i) == 0:

            break

    else:

        print(num,end=’,’)

A 4,6,8,9

B 2,4,6,8,10

C 2,4,6,8

**D **2,3,5,7,

37.下面代码的输出结果是

for n in range(100,200):

i = n // 100

j = n // 10 % 10

k = n % 10

if n == i ** 3 + j ** 3 + k ** 3:

    print(n)

A 159

B 157

C 152

D 153

38.下面代码的输出结果是

a = 2.0

b = 1.0

s = 0

for n in range(1,4):

s += a / b

t = a

a = a + b

b = t

print(round(s,2))

**A 5.17 **

B 8.39

C 3.5

D 6.77

39.下面代码的输出结果是

for a in ["torch","soap","bath"]:

print(a)

**A **torch

soap

bath

B torch,soap,bath

C torch soap bath

D torch,soap,bath,

40.下面代码的输出结果是

for a in 'mirror':

print(a, end="")

if a == 'r':

** break**

**A ****mir ** B mirror

C mi

D mirror

41.下面代码的输出结果是

s = 0

while(s<=1):

print('计数:',s)

s = s + 1

A 计数:1

**B 计数:0 **

计数:****1

C 计数:0

D 出错

42.下面代码的输出结果是

s = 1

while(s<=1):

print('计数:',s)

s = s + 1

A 计数:0

B 出错

计数:1

C 计数:0

*D 计数:1*

43.下面代码的输出结果是

for i in ["pop star"]:

pass

print(i,end = "")

A 无输出

**B ****pop star **

C 出错

D popstar

44.给出下面代码:

i = 1

while i < 6:

j = 0

while j < i:

    print("*",end='')

    j += 1

print("\n")

i += 1

以下选项中描述错误的是:

A 第i行有i个星号*

B 输出5行

**C 执行代码出错 **

D 内层循环j用于控制每行打印的*的个数

45.给出下面代码:

for i in range(1,10):

for j in range(1,i+1):

    print("{}*{}={}\t".format(j,i,i*j),end = '')

print("")

以下选项中描述错误的是:

A 内层循环i用于控制一共打印 9 列

B 也可使用While嵌套循环实现打印九九乘法表

C 执行代码,输出九九乘法表

**D **执行代码出错

46.下面代码的输出结果是

a = 1.0

if isinstance(a,int):

print("{} is int".format(a))

else:

print("{} is not int".format(a))

A 出错

B 1.0 is int

C 无输出

**D ****1.0 is not int **

47.下面代码的输出结果是

a = {}

if isinstance(a,list):

print("{} is list".format(a))

else:

print("{} is {}".format("a",type(a)))

A a is list B 出错

C 无输出

**D **a is <class 'dict'>

48.下面代码的输出结果是

a = [1,2,3]

if isinstance(a,float):

print("{} is float".format(a))

else:

print("{} is not float".format(a))

A a is float

B a is <class ' float t'>

**C ****[1, 2, 3] is not float **

D 出错

49.给出下面代码:

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

if isinstance(a,list):

print("{} is list".format(a))

else:

print("{} is not list".format(a))

代码执行时,从键盘获得1,2,3,则代码的输出结果是:

A 执行代码出错

B 1,2,3 is not list

**C ****['1', '2', '3'] is list **

D 1,2,3 is list

50. 给出下面代码:

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

x = 0

while x < len(a):

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

x += 1   

代码执行时,从键盘获得a,b,c,d,则代码的输出结果是:

A 执行代码出错

**B ****abcd **

C 无输出

D a,b,c,d

第四章 函数和代码复用

1.关于递归函数的描述,以下选项中正确的是

A 函数名称作为返回值

B 包含一个循环结构

C 函数比较复杂

**D **函数内部包含对本函数的再次调用

2.关于递归函数基例的说明,以下选项中错误的是

A 递归函数必须有基例

B 递归函数的基例不再进行递归

**C **每个递归函数都只能有一个基例

D 递归函数的基例决定递归的深度

3.以下选项中,不属于函数的作用的是

**A **提高代码执行速度

B 增强代码可读性

C 降低编程复杂度

D 复用代码

4.假设函数中不包括global保留字,对于改变参数值的方法,以下选项中错误的是

A 参数是列表类型时,改变原参数的值

B 参数是组合类型(可变对象)时,改变原参数的值

**C **参数的值是否改变与函数中对变量的操作有关,与参数类型无关

D 参数是整数类型时,不改变原参数的值

5在Python中,关于函数的描述,以下选项中正确的是.

*A 函数eval()可以用于数值表达式求值,例如eval("23+1")**

B Python函数定义中没有对参数指定类型,这说明,参数在函数中可以当作任意类型使用

C 一个函数中只允许有一条return语句

D Python中,def和return是函数必须使用的保留字

6.给出如下代码:

def func(a,b):

c=a**2+b

b=a

return c

a=10

b=100

c=func(a,b)+a

以下选项中描述错误的是

A 执行该函数后,变量a的值为10

B 执行该函数后,变量b的值为100

*C 执行该函数后,变量c的值为200*

D 该函数名称为func

7.在Python中,关于全局变量和局部变量,以下选项中描述不正确的是

A 一个程序中的变量包含两类:全局变量和局部变量

**B **全局变量不能和局部变量重名

C 全局变量在程序执行的全过程有效

D 全局变量一般没有缩进

8.关于面向对象和面向过程编程描述,以下选项中正确的是

A 面向对象编程比面向过程编程更为高级

**B **所有面向对象编程能实现的功能采用面向过程同样能完成

C 面向对象和面向过程是编程语言的分类依据

D 模块化设计就是面向对象的设计

9.以下选项中,对于递归程序的描述错误的是

A 书写简单

**B **执行效率高

C 递归程序都可以有非递归编写方法

D 一定要有基例

10.下面代码的输出结果是

f=lambda x,y:y+x

f(10,10)

A 100

B 10

**C 20 **

D 10,10

11.关于形参和实参的描述,以下选项中正确的是

A 参数列表中给出要传入函数内部的参数,这类参数称为形式参数,简称形参

B 程序在调用时,将形参复制给函数的实参

C 函数定义中参数列表里面的参数是实际参数,简称实参

**D **程序在调用时,将实参复制给函数的形参

12.关于lambda函数,以下选项中描述错误的是

A lambda不是Python****的保留字

B 定义了一种特殊的函数

C lambda函数也称为匿名函数

D lambda函数将函数名作为函数结果返回

13以下选项中,对于函数的定义错误的是

A def vfunc(a,b=2):

*B def vfunc(a,b):

C def vfunc(a,b):

D def vfunc(a,*b):

14.关于函数的参数,以下选项中描述错误的是

A 在定义函数时,如果有些参数存在默认值,可以在定义函数时直接为这些参数指定默认值

B 在定义函数时,可以设计可变数量参数,通过在参数前增加星号(*)实现

**C **可选参数可以定义在非可选参数的前面

D 一个元组可以传递给带有星号的可变参数

15.关于return语句,以下选项中描述正确的是

A 函数必须有一个return语句

B 函数中最多只有一个return语句

C return只能返回一个值

*D 函数可以没有return*语句

16.关于函数,以下选项中描述错误的是

A 函数是一段具有特定功能的、可重用的语句组

B Python使用del****保留字定义一个函数

C 函数能完成特定的功能,对函数的使用不需要了解函数内部实现原理,只要了解函数的输入输出方式即可。

D 使用函数的主要目的是降低编程难度和代码重用

17.关于Python的全局变量和局部变量,以下选项中描述错误的是

A 使用global保留字声明简单数据类型变量后,该变量作为全局变量使用

B 简单数据类型变量无论是否与全局变量重名,仅在函数内部创建和使用,函数退出后变量被释放

C 全局变量指在函数之外定义的变量,一般没有缩进,在程序执行全过程有效

**D **局部变量指在函数内部使用的变量,当函数退出时,变量依然存在,下次函数调用可以继续使用

18.关于Python的lambda函数,以下选项中描述错误的是

*A f = lambda x,y:x+y 执行后,f*的类型为数字类型

B lambda用于定义简单的、能够在一行内表示的函数

C 可以使用lambda函数定义列表的排序原则

D lambda函数将函数名作为函数结果返回

19.下面代码实现的功能描述为

def fact(n):

if n==0:

    return 1

else:

    return n*fact(n-1)

num =eval(input("请输入一个整数:"))

print(fact(abs(int(num))))

*A *接受用户输入的整数**N*,输出N*的阶乘值

B 接受用户输入的整数N,判断N是否是素数并输出结论

C 接受用户输入的整数N,判断N是否是水仙花数

D 接受用户输入的整数N,判断N是否是完数并输出结论

20.给出如下代码:

def fact(n):

s = 1

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

    s *= i

return s

以下选项中描述错误的是

A fact(n)函数功能为求n的阶乘

B range()函数是Python内置函数

C s是局部变量

*D 代码中n*是可选参数

21.给出如下代码:

ls = ["car","truck"]

def funC (a):

ls.append(a)

return

funC ("bus")

print(ls)

以下选项中描述错误的是

A funC (a)中的a为非可选参数

B ls.append(a) 代码中的ls是全局变量

C ls.append(a) 代码中的ls是列表类型

D 执行代码输出结果为['car', 'truck']

22.给出如下代码:

ls = ["car","truck"]

def funC (a):

ls =[]

ls.append(a)

return

funC ("bus")

print(ls)

以下选项中描述错误的是

A 执行代码输出结果为['car', 'truck', 'bus']

B 代码函数定义中,ls.append(a)中的ls是局部变量

C 执行代码输出结果为['car', 'truck']

D ls.append(a) 代码中的ls是列表类型

23.给出如下代码:

import turtle

def drawLine(draw):

turtle.pendown() if draw else turtle.penup()

turtle.fd(50)

turtle.right(90)

drawLine(True)

drawLine(True)

drawLine(True)

drawLine(True)

以下选项中描述错误的是

A 代码drawLine(True)中True替换为–1,运行代码结果不变

*B 代码drawLine(True)True替换为0*,运行代码结果不变

C 代码def drawLine(draw)中的draw可取值True或者False

D 运行代码,在Python Turtle Graphics 中,绘制一个正方形

24.给出如下代码:

import turtle

def drawLine(draw):

turtle.pendown() if draw else turtle.penup()

turtle.fd(50)

turtle.right(90)

drawLine(True)

drawLine(0)

drawLine(True)

drawLine(True)

turtle.left(90)

drawLine(0)

drawLine(True)

drawLine(True)

以下选项中描述错误的是:

A 代码drawLine(True)中True替换为–1,运行代码结果不变

*B 代码drawLine(True)True替换为0*,运行代码结果不变

C 代码def drawLine(draw)中的draw可取数值0、1、–1等

D 运行代码,在Python Turtle Graphics 中,绘制一个数码管数字2

25.下面代码的运行结果是

def func(num):

num += 1

a =10

func(a)

print(a)

A 11

B int

**C 10 **

D 出错

26.下面代码的输出结果是

def func(a,b):

return a>>b

s = func(5,2)

print(s)

A 20

B 1

C 6

D 12

27.下面代码的输出结果是

def func(a,b):

a *= b

return a

s = func(5,2)

print(s)

A 20

B 1

C 12

D 10

28.下面代码的输出结果是

def f2(a):

if a > 33:

    return True

li = [11, 22, 33, 44, 55]

res = filter(f2, li)

print(list(res))

**A ****[44,55] **

B [11,33,55]

C [22,33,44]

D [33,44,55]

29.下面代码的输出结果是

def fib(n):

a,b = 1,1

for i in range(n-1):

    a,b = b,a+b

return a

print (fib(7))

A 5

**B 13 **

C 21

D 8

30.下面代码的输出结果是

def hello_world():

print('ST',end="*")

def three_hellos():

for i in range(3):

    hello_world()

three_hellos()

**A **STST*ST **

B ST*

C STST

D ***

31.下面代码的输出结果是

def exchange(a,b):

a,b = b,a

return (a,b)

x = 10

y = 20

x,y = exchange(x,y)

print(x,y)

**A ****20 10 **

B 20 20

C 20,10

D 10 10

32.下面代码的输出结果是

MA = lambda x,y : (x > y) * x + (x < y) * y

MI = lambda x,y : (x > y) * y + (x < y) * x

a = 10

b = 20

print(MA(a,b))

print(MI(a,b))

A 20

20

**B **20

10

C 10

20

D 10

10

33.关于下面的代码,以下选项中描述正确的是

list(range(0,10,2))

A 按可变参数调用

B 按关键字参数调用

C 执行结果为0, 2, 4, 6, 8

**D **按位置参数调用

34.关于下面代码,以下选项中描述正确的是

def fact(n, m=1) :

s = 1

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

    s *= i

return s//m

print(fact(m=5,n=10))

**A ****参数按照名称传递 **

B 按位置参数调用

C 执行结果为10886400

D 按可变参数调用

35.关于函数的返回值,以下选项中描述错误的是

A 函数可以返回0个或多个结果

**B **函数必须有返回值

C 函数可以有return,也可以没有

D return可以传递0个返回值,也可以传递任意多个返回值

36.关于函数局部变量和全局变量的使用规则,以下选项中描述错误的是

A 对于组合数据类型的变量,如果局部变量未真实创建,则是全局变量

B 对于基本数据类型的变量,无论是否重名,局部变量与全局变量不同

C 可以通过global保留字在函数内部声明全局变量

D return****不可以传递任意多个函数局部变量返回值

37.关于函数,以下选项中描述错误的是

**A **函数使用时需要了解函数内部实现细节

B 函数主要通过接口(interface)与外界通信,传递信息

C 函数:具有特定功能的可重用代码片段,实现解决某个特定问题的算法

D 函数在需要时被调用,其代码被执行

38.关于函数的目的与意义,以下选项中描述错误的是

A 程序功能抽象,以支持代码重用

**B **函数能调用未实现的函数

C 有助于采用分而治之的策略编写大型复杂程序

D 使用时无须了解函数内部实现细节

39.关于函数,以下选项中描述错误的是

A 函数也是数据

B 函数定义语句可执行

C 一条函数定义定义一个用户自定义函数对象

**D **函数名称不可赋给其他变量

40.关于函数的参数传递(parameter passing),以下选项中描述错误的是

A 实际参数是函数调用时提供的参数

**B **函数调用时,需要将形式参数传递给实际参数

C Python参数传递时不构造新数据对象,而是让形式参数和实际参数共享同一对象

D 形式参数是函数定义时提供的参数

41.关于函数的关键字参数使用限制,以下选项中描述错误的是

A 关键字参数顺序无限制

**B **关键字参数必须位于位置参数之前

C 关键字参数必须位于位置参数之后

D 不得重复提供实际参数

42.下面代码的输出结果是

a = 4

a ^= 3

b = a ^ 2

print(a,end=",")

print(b)

A 4,3

B 64, 4096

C 5,7

**D **7,5

43.执行下面代码,错误的是

def f(x, y = 0, z = 0): pass # 空语句,定义空函数体

**A ****f(1, , 3) **

B f(1, 2)

C f(1)

D f(1, 2, 3)

44.执行下面代码,错误的是

def f(x, y = 0, z = 0): pass # 空语句,定义空函数体

A f(1, z = 3)

**B ****f(1, x = 1, z = 3) **

C f(1, y = 2, z = 3)

D f(z = 3, x = 1, y = 2)

45.执行下面的代码,以下选项中正确的是

def f(x, y = 0, z = 0): pass # 空语句,定义空函数体

A f(x = 1, 2)

B f(1, y = 2, t = 3)

C f(1, x = 1, z = 3)

**D **f(x = 1, y = 2, z = 3)

46.关于嵌套函数,以下选项中描述错误的是

A 嵌套函数是在函数内部定义函数

B 内层函数仅供外层函数调用,外层函数之外不得调用

C def f():

print("Outer function f")

def g():

 print("Inner function g")

g()

f()

**D **def f():

** print("Outer function f")**

** def g():**

** print("Inner function g")**

** g()**

** f.g()**

47.下面代码的执行结果是

def area(r, pi = 3.14159):

    return pi * r *r

area(pi = 3.14, r = 4)

A 出错

**B 50.24 **

C 39.4384

D 无输出

48.下面代码的执行结果是

def area(r, pi = 3.14159):

    return pi * r * r

area(3.14, 4)

A 出错

**B ****39.4384 **

C 50.24

D 无输出

49.下面代码的执行结果是

def greeting(args1, *tupleArgs, **dictArgs):

print(args1)

print(tupleArgs)

print(dictArgs)

names = ['HTY', 'LFF', 'ZH']

info = {'schoolName' : 'NJRU', 'City' : 'Nanjing'}

greeting('Hello,', *names, **info)

**A **Hello,

('HTY', 'LFF', 'ZH')

{'schoolName': 'NJRU', '

C ity': 'Nanjing'}

B ['HTY', 'LFF', 'ZH']

C 出错

D 无输出

50.下面代码的执行结果是

def greeting(args1, *tupleArgs, **dictArgs):

print(args1)

print(tupleArgs)

print(dictArgs)

names = ['HTY', 'LFF', 'ZH']

info = {'schoolName' : 'NJRU', 'City' : 'Nanjing'}

greeting(*names,'Hello,',**info)

**A **HTY

B 出错

('LFF', 'ZH', 'Hello,')

{'schoolName': 'NJRU', '

C ity': 'Nanjing'}

C 无输出

D ['HTY', 'LFF', 'ZH']

第五章 组合数据类型

1.字典d={'abc':123, 'def':456, 'ghi':789},len(d)的结果是

A 9

B 12

**C 3 **

D 6

2.关于Python的元组类型,以下选项中描述错误的是

**A **元组中元素不可以是不同类型

B 元组一旦创建就不能被修改

C Python中元组采用逗号和圆括号(可选)来表示

D 一个元组可以作为另一个元组的元素,可以采用多级索引获取信息

  1. S和T是两个集合,对S&T的描述正确的是

A S和T的并运算,包括在集合S和T中的所有元素

B S和T的差运算,包括在集合S但不在T中的元素

C S和T的补运算,包括集合S和T中的非相同元素

D ST的交运算,包括同时在集合ST****中的元素

  1. S和T是两个集合,对S|T的描述正确的是

A S和T的差运算,包括在集合S但不在T中的元素

B ST的并运算,包括在集合ST****中的所有元素

C S和T的交运算,包括同时在集合S和T中的元素

D S和T的补运算,包括集合S和T中的非相同元素

5.以下选项中,不是具体的Python序列类型的是

A 元组类型

B 字符串类型

**C **数组类型

D 列表类型

6.对于序列s,能够返回序列s中第i到j以k为步长的元素子序列的表达是

A s[i, j, k]

B s(i, j, k)

C s[i; j; k]

D s[i:j:k]

7.设序列s,以下选项中对max(s)的描述正确的是

A 返回序列s的最大元素,如果有多个相同,则返回一个元组类型

B 返回序列s的最大元素,如果有多个相同,则返回一个列表类型

*C 返回序列s的最大元素,但要求s*中元素之间可比较

D 一定能够返回序列s的最大元素

8.元组变量t=("cat", "dog", "tiger", "human"),t[::–1]的结果是

A {'human', 'tiger', 'dog', 'cat'}

B ['human', 'tiger', 'dog', 'cat']

C 运行出错

D ('human', 'tiger', 'dog', 'cat')

9.以下选项中不能生成一个空字典的是

A dict()

**B {[]} **

C {}

D dict([])

10.给定字典d,以下选项中对d.keys()的描述正确的是

A 返回一个集合类型,包括字典d中所有键

*B 返回一种dict_keys类型,包括字典d*中所有键

C 返回一个元组类型,包括字典d中所有键

D 返回一个列表类型,包括字典d中所有键

11.给定字典d,以下选项中对d.values()的描述正确的是

A 返回一个集合类型,包括字典d中所有值

*B 返回一种dict_values类型,包括字典d*中所有值

C 返回一个元组类型,包括字典d中所有值

D 返回一个列表类型,包括字典d中所有值

12.给定字典d,以下选项中对d.items()的描述正确的是

A 返回一个集合类型,每个元素是一个二元元组,包括字典d中所有键值对

B 返回一个列表类型,每个元素是一个二元元组,包括字典d中所有键值对

C 返回一个元组类型,每个元素是一个二元元组,包括字典d中所有键值对

*D 返回一种dict_items类型,包括字典d*中所有键值对

13.给定字典d,以下选项中对d.get(x, y)的描述正确的是

A 返回字典d中键为y的值,如果不存在,则返回y

B 返回字典d中值为y的值,如果不存在,则返回x

C 返回字典d中键值对为x:y的值

*D 返回字典d中键为x的值,如果不存在,则返回y*

14.给定字典d,以下选项中对x in d的描述正确的是

A 判断x是否是在字典d中以键或值方式存在

B 判断x是否是字典d中的值

C x是一个二元元组,判断x是否是字典d中的键值对

*D 判断x是否是字典d*中的键

15.给定字典d,以下选项中可以清空该字典并保留变量的是

A d.remove()

**B d.clear() **

C d.pop()

D del d

16.关于Python组合数据类型,以下选项中描述错误的是

A *Python组合数据类型能够将多个同类型或不同类型的数据组织起来,通过单一的表示使数据操作更有序、更容易

**B **序列类型是二维元素向量,元素之间存在先后关系,通过序号访问

C 组合数据类型可以分为3类:序列类型、集合类型和映射类型

D *Python的str、tuple和list类型都属于序列类型

17.关于Python的元组类型,以下选项中描述错误的是

A 元组一旦创建就不能被修改

**B **元组中元素不可以是不同类型

C 一个元组可以作为另一个元组的元素,可以采用多级索引获取信息

D *Python中元组采用逗号和圆括号(可选)来表示

18.关于Python的列表,以下选项中描述错误的是

A Python列表是一个可以修改数据项的序列类型

B Python****列表的长度不可变

C Python列表用中括号[]表示

D Python列表是包含0个或者多个对象引用的有序序列

19.关于Python序列类型的通用操作符和函数,以下选项中描述错误的是

*A 如果s是一个序列,s =[1,"kate",True]s[3] 返回True*

B 如果s是一个序列,x是s的元素,x in s返回True

C 如果s是一个序列,s =[1,"kate",True],s[–1] 返回True

D 如果s是一个序列,x不是s的元素,x not in s返回True

20.下面代码的输出结果是

s =["seashell","gold","pink","brown","purple","tomato"]

print(s[1:4:2])

A ['gold', 'pink', 'brown', 'purple', 'tomato']

B ['gold', 'pink']

**C ****['gold', 'brown']**

D ['gold', 'pink', 'brown']

21.下面代码的输出结果是

s =["seashell","gold","pink","brown","purple","tomato"]

print(s[4:])

**A ****['purple', 'tomato']**

B ['seashell', 'gold', 'pink', 'brown']

C ['purple']

D ['gold', 'pink', 'brown', 'purple', 'tomato']

22.下面代码的输出结果是

s =["seashell","gold","pink","brown","purple","tomato"]

print(len(s),min(s),max(s))

A 6 seashell gold

B 5 pink brown

**C ****6 brown tomato **

D 5 purple tomato

23.给出如下代码:

s = list("巴老爷有八十八棵芭蕉树,来了八十八个把式要在巴老爷八十八棵芭蕉树下\

住。老爷拔了八十八棵芭蕉树,不让八十八个把式在八十八棵芭蕉树下住。八十八个\

把式烧了八十八棵芭蕉树,巴老爷在八十八棵树边哭。")

以下选项中能输出字符“八”出现次数的是

**A **print(s.count(""))

B print(s.index("八"))

C print(s.index("八"),6,len(s))

D print(s.index("八"),6)

24.给出如下代码:

s = list("巴老爷有八十八棵芭蕉树,来了八十八个把式要在巴老爷八十八棵芭蕉树下住。老爷拔了八十八棵芭蕉树,不让八十八个把式在八十八棵芭蕉树下住。八十八个把式烧了八十八棵芭蕉树,巴老爷在八十八棵树边哭。")

以下选项中能输出字符“八”第一次出现的索引位置的是
A print(s.index("八"),6,len(s))

B print(s.count("八"))

**C ****print(s.index("")) **

D print(s.index("八"),6)

25.下面代码的输出结果是

vlist = list(range(5))

print(vlist)

**A ****[0, 1, 2, 3, 4] **

B 0,1,2,3,4,

C 0 1 2 3 4

D 0;1;2;3;4;

26.下面代码的输出结果是

vlist = list(range(5))

for e in vlist:

print(e,end=",")

A **** 0,1,2,3,4,

B [0, 1, 2, 3, 4]

C 0 1 2 3 4

D 0;1;2;3;4;

27.关于Python字典,以下选项中描述错误的是

A Python字典是包含0个或多个键值对的集合,没有长度限制,可以根据"键"索引"值"的内容

**B **如果想保持一个集合中元素的顺序,可以使用字典类型

C Python通过字典实现映射

D 字典中对某个键值的修改可以通过中括号[]的访问和赋值实现

28.给出如下代码:

D ictC olor = {"seashell":"海贝色","gold":"金色","pink":"粉红色","brown":"棕色","purple":"紫色","tomato":"西红柿色"}

以下选项中能输出“海贝色”的是
**A ****print(**Dict C olor["seashell"])

B print(D ictC olor.keys())

C print(D ictC olor.values())

D print(D ictC olor["海贝色"])

29.给出如下代码:

import random as ran

listV = []

ran.seed(100)

for i in range(10):

i = ran.randint(100,999)

listV.append(i)

以下选项中能输出随机列表元素最大值的是
A print(listV.max())

B print(listV.reverse(i))

C print(listV.pop(i))

**D **print(max(listV))

30.给出如下代码:

MonthandFlower={"1月":"梅花","2月":"杏花","3月":"桃花","4月":"牡丹花",\

"5月":"石榴花","6月":"莲花","7月":"玉簪花","8月":"桂花","9月":"菊花",\

"10月":"芙蓉花","11月":"山茶花","12月":"水仙花"}

n = input("请输入1—12的月份:")

print(n + "月份之代表花:" + MonthandFlower.get(str(n)+"月"))

以下选项中描述正确的是
A *MonthandFlower是一个集合

B *MonthandFlower是一个元组

*C 代码实现了从键盘上获取一个整数(112*)来表示月份,输出该月份对应的代表花名

D *MonthandFlower是一个列表

31.下面代码的输出结果是

list1 = []

for i in range(1,11):

list1.append(i**2)

print(list1)

**A ****[1, 4, 9, 16, 25, 36, 49, 64, 81, 100] **

B [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]

C 错误

D ----Python:----A Superlanguage

32.下面代码的输出结果是

list1 = [i*2 for i in 'Python']

print(list1)

A 错误

B [2, 4, 6, 8, 10, 12]

C Python Python

**D ****['PP', 'yy', 'tt', 'hh', 'oo', 'nn']**

33.下面代码的输出结果是

list1 = [m+n for m in 'AB' for n in 'CD']

print(list1)

A ABC D

B AABBC C D D

**C ****['AC ', 'AD ', 'B ', 'BD '] **

D 错误

34.下面代码的输出结果是

list1 = [(m,n) for m in 'AB' for n in '

C

D ']

print(list1)

**A ****[('A', 'C '), ('A', 'D '), ('B', 'C '), ('B', 'D ')] **

B [‘A’,’B’,’C ’,’D ’]

C *['AC ', 'AD ', 'BC ', 'BD ']

D 错误

35.下面代码的输出结果是

list1 = [(m,n) for m in 'AB

C ' for n in 'AB

C ' if m!=n]

print(list1)

**A *****[('A', 'B'), ('A', 'C '), ('B', 'A'), ('B', 'C '), ('C ', 'A'), ('C ', 'B')]**

B *['AC ', 'AD ', 'BC ', 'BD ']

C 错误

D *[('A', 'C '), ('A', 'D '), ('B', 'C '), ('B', 'D ')]

36.下面代码的输出结果是

d = {'a':1,'b':2,'c':3};

print(d['c'])

A {‘c’:3}

B 2

**C 3 **

D 1

37.下面代码的输出结果是

list1 = [1,2,3]

list2 = [4,5,6]

print(list1+list2)

A [4,5,6]

**B ****[1, 2, 3, 4, 5, 6] **

C [1,2,3]

D [5,7,9]

38.下面代码的输出结果是

str1="k:1|k1:2|k2:3|k3:4"

str_list=str1.split('|')

d={}

for l in str_list:

key,value=l.split(':')

d[key]=value

print(d)

A ['k':'1', 'k1':'2', 'k2':'3','k3':'4']

**B ****{'k': '1', 'k1': '2', 'k2': '3', 'k3': '4'}**

C {k:1,k1:2,k2:3,k3:4}

D [k:1,k1:2,k2:3,k3:4]

39.将以下代码保存成Python文件,运行后输出的是

li = ['alex','eric','rain']

s = "_".join(li)

print(s)

A alex_eric_rain

B _alex_eric_rain

C alex_eric_rain_

**D **alex_eric_rain

40.下面代码的输出结果是

li = ["hello",'se',[["m","n"],["h","kelly"],'all'],123,446]

print(li[2][1][1])

A h

**B kelly **

C n

D m

41.下面代码的输出结果是

a = []

for i in range(2,10):

count = 0

for x in range(2,i-1):

    if i % x == 0:

        count += 1

if count == 0:

    a.append(i)

print(a)

A [3 ,5 ,7 ,9]

**B ****[2, 3, 5, 7] **

C [4, 6 ,8 ,9 ,10]

D [2 ,4 ,6 ,8]

42.下面代码的输出结果是

l1=[1,2,3,2]

l2=['aa','bb','cc','dd','ee']

d={}

for index in range(len(l1)):

d[l1[index]]=l2[index]

print(d)

**A ****{1: 'aa', 2: 'dd', 3: 'cc'} **

B {1: 'aa', 2: 'bb', 3: 'cc',2:'dd'}

C {1: 'aa', 2: 'bb', 3: 'cc',2:'bb'}

D {1: 'aa', 2: 'bb', 3: 'cc'}

43.下面代码的输出结果是

i = ['a','b','c']

l = [1,2,3]

b = dict(zip(i,l))

print(b)

A 报出异常

**B ****{'a': 1, 'b': 2, 'c': 3}**

C 不确定

D {1: 'a', 2: 'd', 3: 'c'}

44.下面代码的输出结果是

a = [1, 2, 3]

for i in a[::-1]:

print(i,end=",")

A 3,1,2

B 2,1,3

**C ****3,2,1, **

D 1,2,3

45.下面代码的输出结果是

L = [1,2,3,4,5]

s1 = ','.join(str(n) for n in L)

print(s1)

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

B 1,,2,,3,,4,,5

C [1,,2,,3,,4,,5]

**D **1,2,3,4,5

46.下面代码的输出结果是

a = [9,6,4,5]

N = len(a)

for i in range(int(len(a) / 2)):

a[i],a[N-i-1] = a[N-i-1],a[i]

print(a)

A [9,6,5,4]

B [5,4,6,9]

C [5,6,9,4]

D [9,4,6,5]

47.下面代码的输出结果是

a = [1, 2, 3]

b = a[:]

print(b)

A []

**B ****[1, 2, 3] **

C 0xF0A9

D [3,2,1]

48.下面代码的输出结果是

a = [1,3]

b = [2,4]

a.extend(b)

print(a)

A [1 ,2 ,3 ,4]

**B ****[1, 3, 2, 4] **

C [4 ,3 ,2 ,1]

D [4 ,2 ,3 ,1]

49.下面代码的输出结果是

s = {}

type(s)

A <class 'tuple'>

**B ****<class 'dict'> **

C <class 'set'>

D <class 'list'>

50.下面代码的输出结果是

s = set()

type(s)

A <class 'tuple'>

B <class 'list'>

C <class 'dict'>

**D ****<class 'set'> **

第六章 文件和数据格式化

1.关于Python对文件的处理,以下选项中描述错误的是

A****当文件以文本方式打开时,读写按照字节流方式

B Python能够以文本和二进制两种方式处理文件

C Python通过解释器内置的open()函数打开一个文件

D 文件使用结束后要用close()方法关闭,释放文件的使用授权

2.以下选项中,不是Python对文件的读操作方法的是

A read

B readline

**C readtext **

D readlines

3.以下选项中,不是Python对文件的打开模式的是

A 'w'

B 'r'

C '+'

D 'c'

4.给出如下代码:

fname = input("请输入要打开的文件: ")

fi = open(fname, "r")

for line in fi.readlines():

print(line)

fi.close()

以下选项中描述错误的是
*A 通过fi.readlines()方法将文件的全部内容读入一个字典fi*

B 用户输入文件路径,以文本文件方式读入文件内容并逐行打印

C 通过fi.readlines()方法将文件的全部内容读入一个列表fi

D 上述代码中fi.readlines()可以优化为fi

5.关于数据组织的维度,以下选项中描述错误的是

**A **数据组织存在维度,字典类型用于表示一维和二维数据

B 高维数据由键值对类型的数据构成,采用对象方式组织

C 一维数据采用线性方式组织,对应于数学中的数组和集合等概念

D 二维数据采用表格方式组织,对应于数学中的矩阵

6.关于Python文件打开模式的描述,以下选项中错误的是

A 追加写模式a

B 只读模式r

C 覆盖写模式w

*D 创建写模式n*

7.执行如下代码:

fname = input("请输入要写入的文件: ")

fo = open(fname, "w+")

ls = ["清明时节雨纷纷,","路上行人欲断魂,","借问酒家何处有?","牧童遥指杏花村。"]

fo.writelines(ls)

fo.seek(0)

for line in fo:

print(line)

fo.close()

以下选项中描述错误的是
**A *****fo.seek(0)**这行代码可以省略,不影响输出效果

B *fo.writelines(ls)将元素全为字符串的ls列表写入文件

C 代码主要功能为向文件写入一个列表类型,并打印输出结果

D 执行代码时,从键盘输入“清明.txt”,则清明.txt被创建

8.关于C SV文件的描述,以下选项中错误的是

A *C SV文件的每一行是一维数据,可以使用Python中的列表类型表示

B 整个C SV文件是一个二维数据

C *C SV文件格式是一种通用的、相对简单的文件格式,应用于程序之间转移表格数据

*D C SV文件通过多种编码表示字符

9.关于Python文件的 '+' 打开模式,以下选项中描述正确的是

*A r/w/a/x*一同使用,在原功能基础上增加同时读写功能

B 读模式

C 追加写模式

D 覆盖写模式

10.表格类型数据的组织维度是

A 高维数据

B 一维数据

C 多维数据

**D **二维数据

  1. “键值对”类型数据的组织维度是

**A **高维数据

B 二维数据

C 多维数据

D 一维数据

12.给定列表ls = {1, 2, 3, "1", "2", "3"},其元素包含两种数据类型,则ls的数据组织维度是

A 多维数据

B 二维数据

C 高维数据

**D **一维数据

13.给定字典d = {1:"1", 2:"2", 3: "3"},其元素包含两种数据类型,则字典d的数据组织维度是

A 二维数据

B 多维数据

**C **高维数据

D 一维数据

14.以下选项中,不是Python中文件操作的相关函数是

A open()

B read()

**C load() **

D write()

15.以下选项中,不是Python中文件操作的相关函数是

A write()

B open()

C readlines()

D writeline()

16.以下选项中,不是Python文件处理.seek()方法的参数是

A 0

B 1

C 2

D -1

17.以下选项中,不是Python文件打开的合法模式组合是

A "r"

B "a"

C "+"

D "w"

18.以下选项中,不是Python文件打开的合法模式组合是

A "a+"

B "t+"

C "r+"

D "w+"

19.以下选项中,不是Python文件打开的合法模式组合是

A "br+"

**B "wr" **

C ""

D "bw"

20.以下选项中,不是Python文件二进制打开模式的合法组合是

A "b"

**B "x+" **

C "bx"

D "bw"

21.关于一维数据存储格式问题,以下选项中描述错误的是

A 一维数据可以采用CSV格式存储

**B **一维数据可以采用直接相连形成字符串方式存储

C 一维数据可以采用分号分隔方式存储

D 一维数据可以采用特殊符号@分隔方式存储

22.关于二维数据CSV存储问题,以下选项中描述错误的是

A CSV文件的每一行表示一个具体的一维数据

B CSV文件的每行采用逗号分隔多个元素

C CSV文件不是存储二维数据的唯一方式

D CSV****文件不能包含二维数据的表头信息

23.以下选项中,对CSV格式的描述正确的是

A CSV文件以英文特殊符号分隔元素

B CSV****文件以英文逗号分隔元素

C CSV文件以英文空格分隔元素

D CSV文件以英文分号分隔元素

24.关于文件关闭的.close()方法,以下选项中描述正确的是

A 文件处理遵循严格的“打开—操作—关闭”模式

**B 文件处理后可以不用.close()**方法关闭文件,程序退出时会默认关闭

C 文件处理结束之后,一定要用.close()方法关闭文件

D 如果文件是只读方式打开,仅在这种情况下可以不用.close()方法关闭文件

25.表达式",".join(ls)中ls是列表类型,以下选项中对其功能的描述正确的是

A 将逗号字符串增加到列表ls中

B 在列表ls每个元素后增加一个逗号

C 将列表所有元素连接成一个字符串,每个元素后增加一个逗号

**D **将列表所有元素连接成一个字符串,元素之间增加一个逗号

26.二维列表ls=[[1,2,3], [4,5,6],[7,8,9]],以下选项中能获取其中元素5的是

**A ls[1][1] **

B ls[–2][–1]

C ls[4]

D ls[–1][–1]

27.二维列表ls=[[1,2,3], [4,5,6],[7,8,9]],以下选项中能获取其中元素9的是

A ls[0][–1]

B ls[–1]

C ls[–1][–1]

D ls[–2][–1]

28.二维列表ls=[[1,2,3], [4,5,6],[7,8,9]],以下选项中能获取其中一个维度的数据是

**A ls[–1] **

B ls[1][1]

C ls[–1][ –1]

D ls[–2][–1]

29.列表ls=[1,2,3, 4,5,6,[7,8,9]],以下选项中描述正确的是

A ls**可能是一维列表 **

B ls可能是高维列表

C ls可能是二维列表

D ls可能是多维列表

30.列表ls=[[1,2,3,4,5,6,7,8,9]],以下选项中描述错误的是

A ls可能是一维列表

B ls可能是二维列表

C ls可能是多维列表

D ls****可能是高维列表

31.以下文件操作方法中,不能从

C SV格式文件中读取数据的是

A readlines

B readline

**C seek **

D read

32.以下文件操作方法中,不能向CSV格式文件写入数据的是

A seek和write

B writelines

C write

D writeline

33.两次调用文件的write方法,以下选项中描述正确的是

A 连续写入的数据之间默认采用逗号分隔

**B **连续写入的数据之间无分隔符

C 连续写入的数据之间默认采用空格分隔

D 连续写入的数据之间默认采用换行分隔

34.表达式writelines(lines)能够将一个元素是字符串的列表lines写入文件,以下选项中描述正确的是

*A 列表lines*中各元素之间无分隔符

B 列表lines中各元素之间默认采用逗号分隔

C 列表lines中各元素之间默认采用换行分隔

D 列表lines中各元素之间默认采用空格分隔

35.关于open()函数的文件名,以下选项中描述错误的是

A 文件名不能是一个目录

**B **文件名对应的文件可以不存在,打开时不会报错

C 文件名可以是相对路径

D 文件名可以是绝对路径

  1. Python语句:f = open(),以下选项中对f的描述错误的是

A 将f当作文件对象,f.read()可以读入文件全部信息

**B 表达式print(f)**执行将报错

C *f是一个Python内部变量类型

D *f是文件句柄,用来在程序中表达文件

37.使用open()打开一个Windows操作系统

D 盘下的文件,以下选项中对路径的表示错误的是

**A D :\PythonTest\a.txt **

B D ://PythonTest//a.txt

C D :\PythonTest\a.txt

D D :/PythonTest/a.txt

38.关于下面代码中的变量x,以下选项中描述正确的是

fo = open(fname, "r")

for x in fo:

print(x)

fo.close()

A 变量x表示文件中的一个字符

B 变量x表示文件中的全体字符

*C 变量x*表示文件中的一行字符

D 变量x表示文件中的一组字符

39.当前程序路径在

D :\PythonTest目录中,使用open()打开

D 盘根目录下文件,以下选项中对路径的表示错误的是

A D :\a.txt

B D :\a.txt

C ../a.txt

D ..//a.txt

40以下选项对应的方法可以用于从CSV文件中解析一二维数据的是

**A split() **

B format()

C exists()

D join()

41.以下选项对应的方法可以用于向CSV文件写入一二维数据的是

A split()

B strip()

C exists()

D join()

42.以下选项对应的方法可以辅助用于从C SV文件中解析一二维数据的是

A count()

**B strip() **

C format()

D center()

43.关于

C SV文件的扩展名,以下选项中描述正确的是

**A **可以为任意扩展名

B 扩展名只能是.txt

C 扩展名只能是.csv

D 扩展名只能是.dat

44.关于文件的打开方式,以下选项中描述正确的是

A 文件只能选择二进制或文本方式打开

B 所有文件都可能以文本方式打开

C 文本文件只能以文本方式打开

**D **所有文件都可能以二进制方式打开

45.对于特别大的数据文件,以下选项中描述正确的是

A 选择内存大的计算机,一次性读入再进行操作

B *Python可以处理特别大的文件,不用特别关心

**C 使用for .. in..**循环,分行读入,逐行处理

D Python无法处理特别大的数据文件

46.关于高维数据,以下选项中描述错误的是

**A **高维数据只能表达键值对数据

B “键值对”是高维数据的主要特征

C 高维数据可用于表达一二维数据

D 高维数据用来表达索引和数据之间的关系

47.当打开一个不存在的文件时,以下选项中描述正确的是

A 文件不存在则创建文件

B 一定会报错

**C **根据打开类型不同,可能不报错

D 不存在文件无法被打开

48.关于数据维度,以下选项中描述错误的是

A 一维数据可能存在顺序,也可以没有顺序

B 数据维度包括一二维、多维和高维数据

C 所有数据都能用维度方式表示

**D **图像由于存在长宽,所以图像数据是二维数据

49.以下选项中不是文件操作函数或方法的是

**A load **

B read

C writelines

D readlines

50.对于无序的一维数据,以下选项中描述错误的是

A 无序一维数据可以采用列表类型来表达

B 无序一维数据可以采用字典类型来表达

C 无序一维数据可以采用集合类型来表达

*D 无序一维数据无法利用Python*语言有效表达

选择题答案:

Python****语法基础

1-5 CCACD 6-10** BBBDB** 11-15** ACDCA** 16-20 DAACC 21-25 BBAAB

26-30** CABCA ** 31-35 ACCDA 36-40**AABCA **41-45 DADCC 46-50 ACDCA

基本数据类型

1-5 CACBC 6-10 ACBCB 11-15** AACBC** 16-20** CCABC **21-25 CACBC

26-30 DCBAA 31-35 ADBBA 36-40 BADAC 41-45 DDBBC 46-50** DCACA **

程序的控制结构

1-5 DBACD 6-10 **ABDBB ** 11-15 BCDDD 16-20 CBCAB 21-25 CDADB

26-30 CDCBB 31-35** CCBBA ** 36-40** DDAAA** 41-45 BDBCD 46-50 DDCCB

函数和代码复用

1-5 **DCACA ** 6-10 CBBBC 11-15 DABCD 16-20 **BDAAD **21-25 **DABBC **

26-30 BDABA 31-35 ABDAB 36-40 DABDB 41-45 BDABD 46-50 DBBAA

组合数据类型

1-5 CADBC 6-10** DCDBB** 11-15 BDDDB 16-20 BBBAC 21-25 **ACACA **

26-30 ABADC 31-35 ADCAA 36-40 CBBDB 41-45 BABCD 46-50 BBBBD

文件和数据格式化

1-5 ACDAA 6-10 ** DADAD** 11-15 ADCCD 16-20 **DCBBB 21-25 BDBBD **

26-30 **ACAAD ** 31-35 CDBAB 36-40 BACBA 41-45 DBADC 46-50 **ACDAD **

选择题答案:

  • 填空题

第一章 基础知识

  1. Python安装扩展库常用的是_______工具。(pip)
  2. Python标准库math中用来计算平方根的函数是__________。(sqrt)
  3. Python程序文件扩展名主要有__________和________两种,其中后者常用于GUI程序。(py、pyw)
  4. Python源代码程序编译后的文件扩展名为_________。(pyc)
  5. 使用pip工具升级科学计算扩展库numpy的完整命令是_________________。(pip install --upgrade numpy)
  6. 使用pip工具查看当前已安装的Python扩展库的完整命令是_____________。(pip list)
  7. 在IDLE交互模式中浏览上一条语句的快捷键是__________。(Alt+P)
  8. 在Python中__________表示空类型。(None)
  9. 列表、元组、字符串是Python的_________(有序?无序)序列。(有序)
  10. 查看变量类型的Python内置函数是________________。(type())
  11. 查看变量内存地址的Python内置函数是_________________。(id())
  12. 以3为实部4为虚部,Python复数的表达形式为___________或________。(3+4j、3+4J)
  13. Python运算符中用来计算整商的是_________。(//)
  14. Python运算符中用来计算集合并集的是_______。(|)
  15. 使用运算符测试集合包含集合A是否为集合B的真子集的表达式可以写作_______。(A<B)
  16. ______________命令既可以删除列表中的一个元素,也可以删除整个列表。(del)
  17. 表达式 int('123', 16) 的值为_________。(291)
  18. 表达式 int('123', 8) 的值为_________。(83)
  19. 表达式 int('123') 的值为_____________。(123)
  20. 表达式 int('101',2) 的值为__________。(5)
  21. 表达式 abs(-3) 的值为___________。(3)
  22. Python 3.x语句 print(1, 2, 3, sep=':') 的输出结果为____________。(1:2:3)
  23. 表达式 int(4**0.5) 的值为____________。(2)
  24. Python内置函数_________可以返回列表、元组、字典、集合、字符串以及range对象中元素个数。(len())
  25. Python内置函数____________用来返回序列中的最大元素。(max())
  26. Python内置函数____________用来返回序列中的最小元素。(min())
  27. Python内置函数________________用来返回数值型序列中所有元素之和。(sum())
  28. 为了提高Python代码运行速度和进行适当的保密,可以将Python程序文件编译为扩展名__________的文件。(pyc)
  29. 已知 x = 3,那么执行语句 x += 6 之后,x的值为_______________。(9)
  30. 表达式 3 | 5 的值为__________。(7)
  31. 表达式 3 & 6 的值为_________。(2)
  32. 表达式 3 ** 2 的值为_________。(9)
  33. 表达式 3 * 2的值为___________。(6)
  34. 表达式 3<<2 的值为_______________。(12)
  35. 表达式 65 >> 1 的值为_____________。(32)
  36. 表达式 chr(ord('a')^32) 的值为___________。('A')
  37. 表达式 chr(ord('a')-32) 的值为___________。('A')
  38. 表达式 abs(3+4j) 的值为____________。(5.0)
  39. 表达式 callable(int) 的值为___________。(True)
  40. 假设有Python程序文件abc.py,其中只有一条语句print(name),那么直接运行该程序时得到的结果为_____________。(__main__)
  41. 表达式16**0.5的值为____________________。(4.0)
  42. 表达式type({3})的值为____________________。(set)
  43. 表达式isinstance('Hello world', str)的值为____________________。(True)

第二章 Python序列

  1. 表达式[1, 2, 3]*3的执行结果为______________________。([1, 2, 3, 1, 2, 3, 1, 2, 3])
  2. list(map(str, [1, 2, 3]))的执行结果为_____________________。([‘1’, ‘2’, ‘3’])
  3. 语句x = 3==3, 5执行结束后,变量x的值为_____________。((True, 5))
  4. 已知 x = 3,并且id(x)的返回值为 496103280,那么执行语句 x += 6 之后,表达式 id(x) == 496103280 的值为___________。(False)
  5. 已知 x = 3,那么执行语句 x *= 6 之后,x的值为________________。(18)
  6. 表达式[3] in [1, 2, 3, 4]的值为________________。(False)
  7. 列表对象的sort()方法用来对列表元素进行原地排序,该函数返回值为 。(None)
  8. 假设列表对象aList的值为[3, 4, 5, 6, 7, 9, 11, 13, 15, 17],那么切片aList[3:7]得到的值是______________________。([6, 7, 9, 11])
  9. 使用列表推导式生成包含10个数字5的列表,语句可以写为_______________。([5 for i in range(10)])
  10. 假设有列表a = ['name', 'age', 'sex']和b = ['Dong', 38, 'Male'],请使用一个语句将这两个列表的内容转换为字典,并且以列表a中的元素为“键”,以列表b中的元素为“值”,这个语句可以写为_____________________。(c = dict(zip(a, b)))
  11. 任意长度的Python列表、元组和字符串中最后一个元素的下标为________。(-1)
  12. Python语句list(range(1,10,3))执行结果为___________________。([1, 4, 7])
  13. 表达式 list(range(5)) 的值为________________。([0, 1, 2, 3, 4])
  14. 已知a = [1, 2, 3]和b = [1, 2, 4],那么id(a[1])==id(b[1])的执行结果为___________。(True)
  15. 切片操作list(range(6))[::2]执行结果为________________。([0, 2, 4])
  16. 使用切片操作在列表对象x的开始处增加一个元素3的代码为_________。(x[0:0] = [3])
  17. 语句sorted([1, 2, 3], reverse=True) == reversed([1, 2, 3])执行结果为_________。(False)
  18. 表达式 sorted([111, 2, 33], key=lambda x: len(str(x))) 的值为________________。([2, 33, 111])
  19. 表达式 sorted([111, 2, 33], key=lambda x: -len(str(x))) 的值为____________。([111, 33, 2])
  20. 语句 x = (3,) 执行后x的值为_______________。((3,))
  21. 语句 x = (3) 执行后x的值为________________。(3)
  22. 已知x=3和y=5,执行语句 x, y = y, x 后x的值是____。(5)
  23. 可以使用内置函数_______________查看包含当前作用域内所有全局变量和值的字典。(globals())
  24. 可以使用内置函数___________________查看包含当前作用域内所有局部变量和值的字典。(locals()()
  25. 字典中多个元素之间使用____________分隔开,每个元素的“键”与“值”之间使用________分隔开。(逗号、冒号)
  26. 字典对象的___________方法可以获取指定“键”对应的“值”,并且可以在指定“键”不存在的时候返回指定值,如果不指定则返回None。(get())
  27. 字典对象的_____________方法返回字典中的“键-值对”列表。(items())
  28. 字典对象的____________方法返回字典的“键”列表。(keys())
  29. 字典对象的______________方法返回字典的“值”列表。(values())
  30. 已知 x = {1:2},那么执行语句 x[2] = 3之后,x的值为________________。({1: 2, 2: 3})
  31. 表达式 {1, 2, 3, 4} - {3, 4, 5, 6}的值为__________________。({1, 2})
  32. 表达式set([1, 1, 2, 3])的值为____________________。({1, 2, 3})
  33. 使用列表推导式得到100以内所有能被13整除的数的代码可以写作___________________________________。([i for i in range(100) if i%13==0])
  34. 已知 x = [3, 5, 7],那么表达式 x[10:]的值为____________。([])
  35. 已知 x = [3, 5, 7],那么执行语句 x[len(x):] = [1, 2]之后,x的值为______________。([3, 5, 7, 1, 2])
  36. 已知 x = [3, 7, 5],那么执行语句 x.sort(reverse=True)之后,x的值为_________________。([7, 5, 3])
  37. 已知 x = [3, 7, 5],那么执行语句 x = x.sort(reverse=True)之后,x的值为_________。(None)
  38. 已知 x = [1, 11, 111],那么执行语句 x.sort(key=lambda x: len(str(x)), reverse=True) 之后,x的值为__________________。([111, 11, 1])
  39. 表达式 list(zip([1,2], [3,4])) 的值为________________________。([(1, 3), (2, 4)])
  40. 已知 x = [1, 2, 3, 2, 3],执行语句 x.pop() 之后,x的值为_____________。([1, 2, 3, 2])
  41. 表达式 list(map(list,zip(*[[1, 2, 3], [4, 5, 6]]))) 的值为________________。([[1, 4], [2, 5], [3, 6]])
  42. 表达式 [x for x in [1,2,3,4,5] if x<3] 的值为_____________________。([1, 2])
  43. 表达式 [index for index, value in enumerate([3,5,7,3,7]) if value == max([3,5,7,3,7])] 的值为__________________。([2, 4])
  44. 已知 x = [3,5,3,7],那么表达式 [x.index(i) for i in x if i==3] 的值为______________。([0, 0])
  45. 已知列表 x = [1, 2],那么表达式 list(enumerate(x)) 的值为_______________。([(0, 1), (1, 2)])
  46. 已知 vec = [[1,2], [3,4]],则表达式 [col for row in vec for col in row] 的值为__________________________。([1, 2, 3, 4])
  47. 已知 vec = [[1,2], [3,4]],则表达式 [[row[i] for row in vec] for i in range(len(vec[0]))] 的值为_________________________。([[1, 3], [2, 4]])
  48. 已知 x = list(range(10)),则表达式 x[-4:] 的值为__________。([6, 7, 8, 9])
  49. 已知 x = [3, 5, 7],那么执行语句 x[1:] = [2]之后,x的值为________________。([3, 2])
  50. 已知 x = [3, 5, 7],那么执行语句 x[:3] = [2]之后,x的值为________________。([ 2])
  51. 已知x为非空列表,那么执行语句y = x[:]之后,id(x[0]) == id(y[0])的值为__________。(True)
  52. 已知 x = [1, 2, 3, 2, 3],执行语句 x.remove(2) 之后,x的值为____________。([1, 3, 2, 3])
  53. 表达式 len([i for i in range(10)]) 的值为__________。(10)
  54. 表达式 len(range(1,10)) 的值为_____________。(9)
  55. 表达式 range(10)[-1] 的值为____________。(9)
  56. 表达式 range(10,20)[4] 的值为__________。(14)
  57. 表达式 round(3.4) 的值为___________。(3)
  58. 表达式 round(3.7) 的值为_________。(4)
  59. 已知 x = (3), 那么表达式 x * 3 的值为__________。(9)
  60. 已知 x = (3,),那么表达式 x * 3 的值为_____________。((3, 3, 3))
  61. 假设列表对象x = [1, 1, 1],那么表达式id(x[0]) == id(x[2])的值为_____________。(True)
  62. 已知列表 x = list(range(10)),那么执行语句 del x[::2]之后,x的值为_________。([1, 3, 5, 7, 9])
  63. 已知列表 x = [1, 2, 3, 4],那么执行语句 del x[1] 之后x的值为____________。([1, 3, 4])
  64. 表达式 [1] * 2 的值为_________________。([1, 1])
  65. 表达式 [1, 2] * 2 的值为______________。([1, 2, 1, 2])
  66. 已知列表 x = [1, 2, 3],那么执行语句 x.insert(1, 4) 只有,x的值为___________。([1, 4, 2, 3])
  67. 已知列表 x = [1, 2, 3],那么执行语句 x.insert(0, 4) 只有,x的值为___________。([4, 1, 2, 3])
  68. 已知列表 x = [1, 2, 3],那么执行语句 x.pop(0) 之后,x的值为_________。([2, 3])
  69. 已知 x = [[1]] * 3,那么执行语句 x[0][0] = 5之后,变量x的值为________________。([[5], [5], [5]])
  70. 表达式 list(map(lambda x: x+5, [1, 2, 3, 4, 5])) 的值为______________________。([6, 7, 8, 9, 10])
  71. 表达式 {1, 2, 3, 4, 5} ^ {4, 5, 6, 7} 的值为_________________________。({1, 2, 3, 6, 7})
  72. 已知 x = [1, 2, 3],那么执行语句 x[len(x)-1:] = [4, 5, 6]之后,变量x的值为_________________________________。([1, 2, 4, 5, 6])
  73. 表达式 len(range(1, 10)) 的值为___________。(9)
  74. 已知x是一个列表对象,那么执行语句 y = x[:] 之后表达式 id(x) == id(y) 的值为___________。(False)
  75. 表达式 sorted([13, 1, 237, 89, 100], key=lambda x: len(str(x))) 的值为___________________________________。([1, 13, 89, 237, 100])
  76. 已知 x = {1:2, 2:3},那么表达式 x.get(3, 4) 的值为____。(4)
  77. 已知 x = {1:2, 2:3},那么表达式 x.get(2, 4) 的值为______。(3)
  78. 表达式 {1, 2, 3} | {3, 4, 5} 的值为_____________________。({1, 2, 3, 4, 5})
  79. 表达式 {1, 2, 3} | {2, 3, 4} 的值为______________________。({1, 2, 3, 4})
  80. 表达式 {1, 2, 3} & {3, 4, 5} 的值为______________。({3})
  81. 表达式 {1, 2, 3} & {2, 3, 4} 的值为___________。({2, 3})
  82. 表达式 {1, 2, 3} - {3, 4, 5} 的值为_________。({1, 2})
  83. 表达式 {1, 2, 3} < {3, 4, 5} 的值为_________。(False)
  84. 表达式 {1, 2, 3} < {1, 2, 4} 的值为___________。(False)
  85. 表达式 [1,2,3].count(4) 的值为_______________。(0)
  86. Python标准库random中的___________方法作用是从序列中随机选择1个元素。(choice())
  87. Python标准库random中的sample(seq, k)方法作用是从序列中选择________(重复?不重复?)的k个元素。(不重复)
  88. random模块中_____________方法的作用是将列表中的元素随机乱序。(shuffle())
  89. 执行代码 x, y, z = sorted([1, 3, 2]) 之后,变量y的值为______。(2)
  90. 表达式 (1, 2, 3)+(4, 5) 的值为__________________。((1, 2, 3, 4, 5))
  91. 表达式 dict(zip([1, 2], [3, 4])) 的值为_________________________________。({1: 3, 2: 4})
  92. 语句 x, y, z = [1, 2, 3] 执行后,变量y的值为__________。(2)
  93. 已知 x = [[1,3,3], [2,3,1]],那么表达式 sorted(x, key=lambda item:item[0]+item[2]) 的值为______________________________________。([[2, 3, 1], [1, 3, 3]])
  94. 已知 x = [[1,3,3], [2,3,1]],那么表达式 sorted(x, key=lambda item:(item[1],item[2])) 的值为____________________________________。([[2, 3, 1], [1, 3, 3]])
  95. 已知 x = [[1,3,3], [2,3,1]],那么表达式 sorted(x, key=lambda item:(item[1], -item[2])) 的值为____________________________________。([[1, 3, 3], [2, 3, 1]])
  96. 已知 x = {1, 2, 3},那么执行语句 x.add(3) 之后,x的值为__________。({1, 2, 3})
  97. 已知 x = {1:1},那么执行语句 x[2] = 2之后,len(x)的值为____________。(2)
  98. 已知 x = {1:1, 2:2},那么执行语句 x[2] = 4之后,len(x)的值为____________。(2)
  99. 假设已从标准库functools导入reduce()函数,那么表达式 reduce(lambda x, y: x-y, [1, 2, 3]) 的值为____。(-4)
  100. 假设已从标准库functools导入reduce()函数,那么表达式 reduce(lambda x, y: x+y, [1, 2, 3]) 的值为____。(6)
  101. 假设已从标准库functools导入reduce()函数,那么表达式reduce(lambda x,y:max(x,y), [1,2,3,4,4,5])的值为_________。(5)
  102. 已知有函数定义 def demo(*p):return sum(p),那么表达式 demo(1, 2, 3) 的值为______、表达式 demo(1, 2, 3, 4) 的值为_________。(6、10)
  103. 已知列表 x = [1, 2],那么连续执行命令 y = x和 y.append(3) 之后,x的值为________。([1, 2, 3])
  104. 已知列表 x = [1, 2],那么连续执行命令 y = x[:] 和 y.append(3) 之后,x的值为________。([1, 2])
  105. 已知列表 x = [1, 2],执行语句 y = x[:] 后,表达式 id(x) == id(y) 的值为_______。(False)
  106. 已知列表 x = [1, 2],执行语句 y = x 后,表达式 id(x) == id(y) 的值为_______。(True)
  107. 已知列表 x = [1, 2],执行语句 y = x 后,表达式 x is y 的值为_______。(True)
  108. 已知列表 x = [1, 2],执行语句 y = x[:] 后,表达式 x is not y 的值为_______。(True)
  109. 表达式 sorted(random.sample(range(5), 5)) 的值为_________________________。([0, 1, 2, 3, 4])
  110. 表达式 [i for i in range(10) if i>8] 的值为________________。([9])
  111. 已知有列表 x = [[1, 2, 3], [4, 5, 6]],那么表达式 [[row[i] for row in x] for i in range(len(x[0]))] 的值为___________________________。([[1, 4], [2, 5], [3, 6]])
  112. 执行语句 x,y,z = map(str, range(3)) 之后,变量y的值为___________。('1')
  113. 已知列表 x = [1, 2],那么执行语句 x.extend([3]) 之后, x的值为____________。([1, 2, 3])
  114. 已知列表 x = [1, 2],那么执行语句 x.append([3]) 之后,x的值为_____________。([1, 2, [3]])
  115. 表达式 print(0b10101) 的值为____________。(21)
  116. 已知 x = [1, 2, 3, 4, 5],那么执行语句 del x[:3] 之后,x的值为__________。([4, 5])
  117. 已知 x = range(1,4) 和 y = range(4,7),那么表达式 sum([i*j for i,j in zip(x,y)]) 的值为__________。(32)
  118. 表达式 [5 for i in range(3)] 的值为_______________。([5, 5, 5])
  119. 表达式 {1, 2, 3} == {1, 3, 2} 的值为___________。(True)
  120. 表达式 [1, 2, 3] == [1, 3, 2] 的值为____________。(False)
  121. 已知 x = [1, 2, 1],那么表达式 id(x[0]) == id(x[2]) 的值为_______________。(True)
  122. 表达式 3 not in [1, 2, 3]的值为__________。(False)
  123. 已知 x = [1, 2],那么执行语句 x[0:0] = [3, 3]之后,x的值为___________。([3, 3, 1, 2])
  124. 已知 x = [1, 2],那么执行语句 x[0:1] = [3, 3]之后,x的值为___________。([3, 3, 2])
  125. 已知 x = [1, 2, 3, 4, 5],那么执行语句 del x[1:3] 之后,x的值为____________。([1, 4, 5])
  126. 已知 x = [[1, 2, 3,], [4, 5, 6]],那么表达式 sum([i*j for i,j in zip(*x)]) 的值为______。(32)
  127. 已知列表 x = [1, 2, 3] 和 y = [4, 5, 6],那么表达式 [(i,j) for i, j in zip(x,y) if i==3] 的值为____________。([(3, 6)])
  128. 已知列表 x = [1.0, 2.0, 3.0],那么表达式 sum(x)/len(x) 的值为___________。(2.0)
  129. 已知 x = {1:2, 2:3, 3:4},那么表达式 sum(x) 的值为___________。(6)
  130. 已知 x = {1:2, 2:3, 3:4},那么表达式 sum(x.values()) 的值为_________。(9)
  131. 已知 x = [3, 2, 3, 3, 4],那么表达式 [index for index, value in enumerate(x) if value==3] 的值为____________。([0, 2, 3])
  132. 表达式 1234%1000//100 的值为___________。(2)
  133. 表达式 3 // 5 的值为_______________。(0)
  134. 表达式 [1, 2] + [3] 的值为__________________。([1, 2, 3])
  135. 表达式 (1,) + (2,) 的值为_____________。((1, 2))
  136. 表达式 (1) + (2) 的值为____________。(3)
  137. 已知 x, y = map(int, ['1', '2']),那么表达式 x + y 的值为_______。(3)
  138. 已知列表 x = list(range(5)),那么执行语句 x.remove(3) 之后,表达式 x.index(4) 的值为________。(3)
  139. 已知列表 x = [1, 3, 2],那么执行语句 x.reverse() 之后,x的值为____________。([2, 3, 1])
  140. 已知列表 x = [1, 3, 2],那么执行语句 x = x.reverse() 之后,x的值为____________。(None)
  141. 已知x为非空列表,那么表达式 x.reverse() == list(reversed(x)) 的值为__________。(False)
  142. 已知x为非空列表,那么表达式 x.sort() == sorted(x) 的值为__________。(False)
  143. 已知列表 x = [1, 3, 2],那么执行语句 y = list(reversed(x)) 之后,x的值为__________。([1, 3, 2])
  144. 已知列表 x = [1, 3, 2],那么执行语句 y = list(reversed(x)) 之后,y的值为__________。([2, 3, 1])
  145. 已知列表x中包含超过5个以上的元素,那么表达式 x == x[:5]+x[5:] 的值为________。(True)
  146. 已知字典 x = {i:str(i+3) for i in range(3)},那么表达式 sum(x) 的值为______。(3)
  147. 已知字典 x = {i:str(i+3) for i in range(3)},那么表达式 sum(item[0] for item in x.items()) 的值为___________。(3)
  148. 已知字典 x = {i:str(i+3) for i in range(3)},那么表达式 ''.join([item[1] for item in x.items()]) 的值为_____________。('345')
  149. 已知列表 x = [1, 3, 2],那么表达式 [value for index, value in enumerate(x) if index==2] 的值为_______________。([2])
  150. 已知列表 x = [1, 3, 2],那么执行语句 a, b, c = sorted(x) 之后,b的值为____。(2)
  151. 已知列表 x = [1, 3, 2],那么执行语句 a, b, c = map(str,sorted(x)) 之后,c的值为______。('3')
  152. 表达式 set([1,2,3]) == {1, 2, 3} 的值为____________。(True)
  153. 表达式 set([1,2, 2,3]) == {1, 2, 3} 的值为____________。(True)
  154. 表达式 '%c'%65 == str(65) 的值为___________。(False)
  155. 表达式 '%s'%65 == str(65) 的值为_____________。(True)
  156. 表达式 chr(ord('b')^32) 的值为_________。('B')
  157. 表达式 'abc' in 'abdcefg' 的值为_____________。(False)
  158. 已知x为整数变量,那么表达式 int(hex(x), 16) == x 的值为_____________。(True)
  159. 已知 x, y = 3, 5,那么执行x, y = y, x 之后,x的值为__________。(5)
  160. 已知 x = 'abcd' 和 y = 'abcde',那么表达式 [i==j for i,j in zip(x,y)] 的值为________________。([True, True, True, True])
  161. 已知x = list(range(20)),那么表达式x[-1]的值为____________________。(19)
  162. 已知x = 3+4j和y = 5+6j,那么表达式x+y的值为____________________。(8+10j)
  163. 已知x = [3],那么执行x += [5]之后x的值为____________________。([3, 5])
  164. 已知x = [3, 3, 4],那么表达式id(x[0])==id(x[1])的值为__________________。(True)
  165. 表达式int('11', 2)的值为______________________。(3)
  166. 表达式int('11', 8)的值为_______________________。(9)
  167. 表达式int(bin(54321), 2)的值为_______________________。(54321)
  168. 表达式chr(ord('A')+1)的值为____________________。('B')
  169. 表达式int(str(34)) == 34的值为___________________。(True)
  170. 表达式list(str([3, 4])) == [3, 4]的值为_________________。(False)
  171. 表达式{1, 2, 3, 4, 5, 6} ^ {5, 6, 7, 8}的值为__________________。({1, 2, 3, 4, 7, 8})
  172. 表达式15 // 4的值为__________________。(3)
  173. 表达式sorted({'a':3, 'b':9, 'c':78})的值为_________________。(['a', 'b', 'c'])
  174. 表达式sorted({'a':3, 'b':9, 'c':78}.values())的值为_____________。([3, 9, 78])
  175. 已知x = [3, 2, 4, 1],那么执行语句x = x.sort()之后,x的值为____________。(None)
  176. 表达式list(filter(lambda x: x>5, range(10)))的值为_________________。([6, 7, 8, 9])
  177. 已知x = list(range(20)),那么语句print(x[100:200])的输出结果为_______________。([])
  178. 已知x = list(range(20)),那么执行语句x[:18] = []后列表x的值为______________。([18, 19])
  179. 已知x = [1, 2, 3],那么连续执行y = x[:]和y.append(4)这两条语句之后,x的值为____________________。([1, 2, 3])
  180. 已知x = [1, 2, 3],那么连续执行y = x和y.append(4)这两条语句之后,x的值为____________________。([1, 2, 3, 4])
  181. 已知x = [1, 2, 3],那么连续执行y = [1, 2, 3]和y.append(4)这两条语句之后,x的值为____________________。([1, 2, 3])
  182. 已知x = [[]] * 3,那么执行语句x[0].append(1)之后,x的值为____________________。([[1], [1], [1]])
  183. 已知x = [[] for i in range(3)],那么执行语句x[0].append(1)之后,x的值为_________________。([[1], [], []])
  184. 已知x = ([1], [2]),那么执行语句x[0].append(3)后x的值为________________。(([1, 3], [2]))
  185. 已知x = {1:1, 2:2},那么执行语句x.update({2:3, 3:3})之后,表达式sorted(x.items())的值为____________________。([(1, 1), (2, 3), (3, 3)])
  186. 已知x = {1:1, 2:2},那么执行语句x[3] = 3之后,表达式sorted(x.items())的值为____________________。([(1, 1), (2, 2), (3, 3)])
  187. 已知x = [1, 2, 3],那么表达式not (set(x*100)-set(x))的值为________________。(True)
  188. 已知x = [1, 2, 3],那么表达式not (set(x*100)&set(x))的值为________________。(False)
  189. 表达式{'x': 1, **{'y': 2}}的值为___________________。({'x': 1, 'y': 2})
  190. 表达式{*range(4), 4, *(5, 6, 7)}的值为__________________。({0, 1, 2, 3, 4, 5, 6, 7})
  191. 已知 x = [1,2,3,4,5],那么执行语句 x[::2] = range(3) 之后,x的值为_______________。([0, 2, 1, 4, 2])
  192. 已知 x = [1,2,3,4,5],那么执行语句 x[::2] = map(lambda y:y!=5,range(3)) 之后,x的值为________________。([True, 2, True, 4, True])
  193. 已知 x = [1,2,3,4,5],那么执行语句 x[1::2] = sorted(x[1::2], reverse=True) 之后,x的值为_________________。([1, 4, 3, 2, 5])
  194. 表达式 True*3 的值为__________。(3)
  195. 表达式 False+1 的值为__________。(1)

第3章 选择结构与循环结构

  1. 表达式 'ab' in 'acbed' 的值为________。(False)
  2. 假设n为整数,那么表达式 n&1 == n%2 的值为_____________。(True)
  3. 关键字__________用于测试一个对象是否是一个可迭代对象的元素。(in)
  4. 表达式 3<5>2 的值为_______________。(True)
  5. 已知 x = {'a':'b', 'c':'d'},那么表达式 'a' in x 的值为______________。(True)
  6. 已知 x = {'a':'b', 'c':'d'},那么表达式 'b' in x 的值为______________。(False)
  7. 已知 x = {'a':'b', 'c':'d'},那么表达式 'b' in x.values() 的值为______________。(True)
  8. 表达式 1<2<3 的值为_________。(True)
  9. 表达式 3 or 5 的值为________。(3)
  10. 表达式 0 or 5 的值为_________。(5)
  11. 表达式 3 and 5 的值为____________。(5)
  12. 表达式 3 and not 5 的值为______________。(False)
  13. Python中用于表示逻辑与、逻辑或、逻辑非运算的关键字分别是_________、___________、_________。(and、or、not)
  14. Python 3.x语句 for i in range(3):print(i, end=',') 的输出结果为_____________________。(0,1,2,)
  15. Python 3.x语句 print(1, 2, 3, sep=',') 的输出结果为________________。(1,2,3)
  16. 对于带有else子句的for循环和while循环,当循环因循环条件不成立而自然结束时________(会?不会?)执行else中的代码。(会)
  17. 在循环语句中,__________语句的作用是提前结束本层循环。(break)
  18. 在循环语句中,_______语句的作用是提前进入下一次循环。(continue)
  19. 表达式 5 if 5>6 else (6 if 3>2 else 5) 的值为_________。(6)
  20. Python关键字elif表示__________和___________两个单词的缩写。(else、if)
  21. 表达式 3 in {1, 2, 3} 的值为_________。(True)
  22. 表达式 'ac' in 'abce' 的值为_____________。(False)
  23. 表达式 not 3 的值为________________。(False)

第4章 字符串与正则表达式

  1. 表达式 'abc' in ('abcdefg') 的值为______________。(True)
  2. 表达式 'abc' in ['abcdefg'] 的值为______________。(False)
  3. 表达式 '\x41' == 'A' 的值为_____________。(True)
  4. Python语句''.join(list('hello world!'))执行的结果是____________________。('hello world!')
  5. 转义字符r’\n’的含义是___________________。(回车换行)
  6. 已知列表对象x = ['11', '2', '3'],则表达式 max(x) 的值为___________。('3')
  7. 表达式 min(['11', '2', '3']) 的值为_________________。('11')
  8. 已知列表对象x = ['11', '2', '3'],则表达式max(x, key=len) 的值为___________。('11')
  9. 已知 path = r'c:\test.html',那么表达式 path[:-4]+'htm' 的值为__________。('c:\test.htm')
  10. 表达式 list(str([1,2,3])) == [1,2,3] 的值为______________。(False)
  11. 表达式 str([1, 2, 3]) 的值为__________________。('[1, 2, 3]')
  12. 表达式 str((1, 2, 3)) 的值为__________________。('(1, 2, 3)')
  13. 表达式 sum(range(1, 10, 2)) 的值为____________。(25)
  14. 表达式 sum(range(1, 10)) 的值为_____________。(45)
  15. 表达式 '%c'%65 的值为_________。('A')
  16. 表达式 '%s'%65 的值为__________。('65')
  17. 表达式 '%d,%c' % (65, 65) 的值为________。('65,A')
  18. 表达式 'The first:{1}, the second is {0}'.format(65,97) 的值为______________________________。('The first:97, the second is 65')
  19. 表达式 '{0:#d},{0:#x},{0:#o}'.format(65) 的值为_____________。('65,0x41,0o101')
  20. 表达式 isinstance('abcdefg', str) 的值为____________。(True)
  21. 表达式 isinstance('abcdefg', object) 的值为_____________。(True)
  22. 表达式 isinstance(3, object) 的值为_____________。(True)
  23. 表达式 'abcabcabc'.rindex('abc') 的值为____________。(6)
  24. 表达式 ':'.join('abcdefg'.split('cd')) 的值为______________。('ab:efg')
  25. 表达式 'Hello world. I like Python.'.rfind('python') 的值为________。(-1)
  26. 表达式 'abcabcabc'.count('abc') 的值为_____________。(3)
  27. 表达式 'apple.peach,banana,pear'.find('p') 的值为______________。(1)
  28. 表达式 'apple.peach,banana,pear'.find('ppp') 的值为________。(-1)
  29. 表达式 'abcdefg'.split('d') 的值为__________________。(['abc', 'efg'])
  30. 表达式 ':'.join('1,2,3,4,5'.split(',')) 的值为__________________。('1:2:3:4:5')
  31. 表达式 ','.join('a b ccc\n\n\nddd '.split()) 的值为______________。('a,b,ccc,ddd')
  32. 表达式 'Hello world'.upper() 的值为___________。('HELLO WORLD')
  33. 表达式 'Hello world'.lower() 的值为_____________。('hello world')
  34. 表达式 'Hello world'.lower().upper() 的值为___________。('HELLO WORLD')
  35. 表达式 'Hello world'.swapcase().swapcase() 的值为______________。('Hello world')
  36. 表达式 r'c:\windows\notepad.exe'.endswith('.exe') 的值为_____________。(True)
  37. 表达式 r'c:\windows\notepad.exe'.endswith(('.jpg', '.exe')) 的值为_______。(True)
  38. 表达式 'C:\Windows\notepad.exe'.startswith('C:') 的值为_________。(True)
  39. 表达式 len('Hello world!'.ljust(20)) 的值为_________。(20)
  40. 表达式 len('abcdefg'.ljust(3)) 的值为_________。(7)
  41. 表达式 'a' + 'b' 的值为_____________。('ab')
  42. 已知 x = '123' 和 y = '456',那么表达式 x + y 的值为______________。('123456')
  43. 表达式 'a'.join('abc'.partition('a')) 的值为________________。('aaabc')
  44. 表达式 re.split('.+', 'alpha.beta...gamma..delta') 的值为_______________________。(['alpha', 'beta', 'gamma', 'delta'])
  45. 已知 x = 'a234b123c',并且re模块已导入,则表达式 re.split('\d+', x) 的值为_________________。(['a', 'b', 'c'])
  46. 表达式 ''.join('asdssfff'.split('sd')) 的值为____________。('assfff')
  47. 表达式 ''.join(re.split('[sd]','asdssfff')) 的值为_______________。('afff')
  48. 假设re模块已导入,那么表达式 re.findall('(\d)\1+', '33abcd112') 的值为___________________。(['3', '1'])
  49. 语句 print(re.match('abc', 'defg')) 输出结果为_____________。(None)
  50. 表达式 'Hello world!'[-4] 的值为________________。('r')
  51. 表达式 'Hello world!'[-4:] 的值为________________。('rld!')
  52. 表达式 'test.py'.endswith(('.py', '.pyw')) 的值为__________。(True)
  53. 表达式 len('abc'.ljust(20)) 的值为______________。(20)
  54. 代码 print(re.match('^[a-zA-Z]+$','abcDEFG000')) 的输出结果为_________。(None)
  55. 当在字符串前加上小写字母_____或大写字母_____表示原始字符串,不对其中的任何字符进行转义。(r、R)
  56. 在设计正则表达式时,字符_______紧随任何其他限定符(*、+、?、{n}、{n,}、{n,m})之后时,匹配模式是“非贪心的”,匹配搜索到的、尽可能短的字符串。(?)
  57. 假设正则表达式模块re已导入,那么表达式 re.sub('\d+', '1', 'a12345bbbb67c890d0e') 的值为_____________________。('a1bbbb1c1d1e')
  58. 表达式 len('中国'.encode('utf-8')) 的值为___________。(6)
  59. 表达式 len('中国'.encode('gbk')) 的值为____________。(4)
  60. 表达式 chr(ord('A')+2) 的值为__________。('C')
  61. 表达式 'abcab'.replace('a','yy') 的值为___________。('yybcyyb')
  62. 已知 table = ''.maketrans('abcw', 'xyzc'),那么表达式 'Hellow world'.translate(table) 的值为______________________。('Helloc corld')
  63. 表达式 'hello world, hellow every one'.replace('hello', 'hi') 的值为________________________。('hi world, hiw every one')
  64. 已知字符串 x = 'hello world',那么执行语句 x.replace('hello', 'hi') 之后,x的值为____________。('hello world')
  65. 正则表达式元字符________用来表示该符号前面的字符或子模式1次或多次出现。(+)
  66. 已知 x = 'a b c d',那么表达式 ','.join(x.split()) 的值为___________。('a,b,c,d')
  67. 正则表达式元字符________用来表示该符号前面的字符或子模式0次或多次出现。(*)
  68. 表达式 'abcab'.strip('ab') 的值为__________。('c')
  69. 表达式 [str(i) for i in range(3)] 的值为____________。(['0', '1', '2'])
  70. 表达式 'abc.txt'.endswith(('.txt', '.doc', '.jpg')) 的值为___________。(True)
  71. 代码 print(1,2,3,sep=':') 的执行结果为__________________。(1:2:3)
  72. 代码 for i in range(3):print(i, end=',') 的执行结果为_________________。(0,1,2,)
  73. 表达式 eval('''import('math').sqrt(9)''') 的值为______________。(3.0)
  74. 表达式 eval('''import('math').sqrt(32+42)''') 的值为_________。(5.0)
  75. 表达式 eval('3+5') 的值为_________________。(8)
  76. 表达式 eval('[1, 2, 3]') 的值为__________________。([1, 2, 3])
  77. 假设math标准库已导入,那么表达式 eval('math.sqrt(4)') 的值为_________。(2.0)
  78. 已知x为非空列表,那么表达式 random.choice(x) in x 的值为___________。(True)
  79. 表达式 'abc10'.isalnum() 的值为______________。(True)
  80. 表达式 'abc10'.isalpha() 的值为________________。(False)
  81. 表达式 'abc10'.isdigit() 的值为__________________。(False)
  82. 表达式 'C:\windows\notepad.exe'.endswith('.exe') 的值为________。(True)
  83. 表达式 '%s'%[1,2,3] 的值为_____________。('[1, 2, 3]')
  84. 表达式 'aaasdf'.lstrip('as') 的值为________________。('df')
  85. 表达式 'aaasdf'.lstrip('af') 的值为________________。('sdf')
  86. 表达式 'aaasdf'.strip('af') 的值为______________。('sd')
  87. 表达式 'aaasdf'.rstrip('af') 的值为_______________。('aaasd')
  88. 表达式 len('SDIBT') 的值为__________。(5)
  89. 表达式 'Hello world!'.count('l') 的值为___________。(3)
  90. 已知 x = 'abcdefg',则表达式 x[3:] + x[:3] 的值为___________________。('defgabc')
  91. 字符串编码格式UTF8使用____________________个字节表示一个汉字。(3)
  92. 字符串编码格式GBK使用__________________个字节表示一个汉字。(2)
  93. 已知字符串编码格式utf8使用3个字节表示一个汉字、1个字节表示英语字母,那么表达式len('abc你好')的值为_______________。(5)
  94. 已知字符串编码格式utf8使用3个字节表示一个汉字、1个字节表示英语字母,那么表达式len('abc你好'.encode())的值为_______________。(9)
  95. 已知字符串编码格式gbk使用2个字节表示一个汉字、1个字节表示英语字母,那么表达式len('abc你好'.encode('gbk'))的值为_______________。(7)
  96. 已知ord('A')的值为65并且hex(65)的值为'0x41',那么表达式'\x41b'的值为________________。('Ab')
  97. 已知formatter = 'good {0}'.format,那么表达式list(map(formatter, ['morning']))的值为__________________。(['good morning'])
  98. 已知x = 'hello world.',那么表达式x.find('x')和x.rfind('x')的值都为_____________。(-1)
  99. 表达式':'.join('hello world.'.split())的值为___________________。('hello:world.')
  100. 表达式':'.join('a b c d'.split(maxsplit=2))的值为_________________。('a:b:c d')
  101. 已知x = 'hello world',那么表达式x.replace('l', 'g')的值为_______________。('heggo worgd')
  102. 假设已成功导入Python标准库string,那么表达式len(string.digits)的值为_______________。(10)
  103. 表达式'aaaassddf'.strip('af')的值为__________________。('ssdd')
  104. 表达式len('aaaassddf'.strip('afds'))的值为________________。(0)
  105. 表达式len('hello world'[100:])的值为__________________。(0)
  106. 表达式chr(ord('a')^32^32)的值为_________________。('a')
  107. 表达式chr(ord('a')^32)的值为_________________。('A')
  108. 已知x = 'aa b ccc dddd',那么表达式''.join([v for i,v in enumerate(x[:-1]) if v==x[i+1]])的值为_________________。('accddd')
  109. 假设正则表达式模块re已正确导入,那么表达式''.join(re.findall('\d+', 'abcd1234'))的值为_____________________。('1234')
  110. 假设正则表达式模块re已正确导入,那么表达式re.findall('\d+?', 'abcd1234')的值为_____________________。(['1', '2', '3', '4'])
  111. 假设正则表达式模块re已正确导入,那么表达式re.sub('(.\s)\1+', '\1','a a a a a bb')的值为________________________。('a bb')
  112. 表达式 eval('*'.join(map(str, range(1, 6)))) 的值为_________。(120)
  113. 正则表达式模块re的__________方法用来编译正则表达式对象。(compile())
  114. 正则表达式模块re的______________方法用来在字符串开始处进行指定模式的匹配。(match())
  115. 正则表达式模块re的______________方法用来在整个字符串中进行指定模式的匹配。(search())
  116. 表达式 re.search(r'\w*?(?P<f>\b\w+\b)\s+(?P=f)\w*?', 'Beautiful is is better than ugly.').group(0) 的值为___________。('is is')
  117. 表达式 'Beautiful is better than ugly.'.startswith('Be', 5) 的值为_________。(False)
  118. 已知字典 x = {i:str(i+3) for i in range(3)},那么表达式 ''.join(x.values()) 的值为____________。('345')

第5章 函数定义与使用

  1. Python中定义函数的关键字是_________________。(def)
  2. 在函数内部可以通过关键字________________来定义全局变量。(global)
  3. 如果函数中没有return语句或者return语句不带任何返回值,那么该函数的返回值为_________________。(None)
  4. 表达式 sum(range(10)) 的值为________________。(45)
  5. 表达式 sum(range(1, 10, 2)) 的值为____________。(25)
  6. 表达式 list(filter(None, [0,1,2,3,0,0])) 的值为___________________。([1, 2, 3])
  7. 表达式 list(filter(lambda x:x>2, [0,1,2,3,0,0])) 的值为_________。([3])
  8. 表达式 list(range(50, 60, 3)) 的值为_______________________。([50, 53, 56, 59])
  9. 表达式 list(filter(lambda x: x%2==0, range(10))) 的值为__________________________。([0, 2, 4, 6, 8])
  10. 表达式 list(filter(lambda x: len(x)>3, ['a', 'b', 'abcd'])) 的值为___________。(['abcd'])
  11. 已知 g = lambda x, y=3, z=5: xyz,则语句 print(g(1)) 的输出结果为_______。(15)
  12. 表达式 list(map(lambda x: len(x), ['a', 'bb', 'ccc'])) 的值为__________。([1, 2, 3])
  13. 已知 f = lambda x: x+5,那么表达式 f(3) 的值为________。(8)
  14. 表达式 sorted(['abc', 'acd', 'ade'], key=lambda x:(x[0],x[2])) 的值为_____________。(['abc', 'acd', 'ade'])
  15. 已知函数定义def demo(x, y, op):return eval(str(x)+op+str(y)),那么表达式demo(3, 5, '+')的值为______________________。(8)
  16. 已知函数定义def demo(x, y, op):return eval(str(x)+op+str(y)),那么表达式demo(3, 5, '*')的值为______________________。(15)
  17. 已知函数定义def demo(x, y, op):return eval(str(x)+op+str(y)),那么表达式demo(3, 5, '-')的值为______________________。(-2)
  18. 已知f = lambda n: len(bin(n)[bin(n).rfind('1')+1:]),那么表达式f(6)的值为____________________。(1)
  19. 已知f = lambda n: len(bin(n)[bin(n).rfind('1')+1:]),那么表达式f(7)的值为____________________。(0)
  20. 已知 g = lambda x, y=3, z=5: x+y+z,那么表达式 g(2) 的值为________。(10)
  21. 已知函数定义 def func(*p):return sum(p),那么表达式 func(1,2,3) 的值为______。(6)
  22. 已知函数定义 def func(*p):return sum(p),那么表达式 func(1,2,3, 4) 的值为______。(10)
  23. 已知函数定义 def func(**p):return sum(p.values()),那么表达式 func(x=1, y=2, z=3) 的值为________。(6)
  24. 已知函数定义 def func(**p):return ''.join(sorted(p)),那么表达式 func(x=1, y=2, z=3)的值为__________。('xyz')
  25. 已知 f = lambda x: 5,那么表达式 f(3)的值为_____________。(5)

第6章 面向对象程序设计

  1. Python使用_________________关键字来定义类。(class)
  2. 表达式 isinstance('abc', str) 的值为________________。(True)
  3. 表达式 isinstance('abc', int) 的值为_______________。(False)
  4. 表达式 isinstance(4j, (int, float, complex)) 的值为_____________。(True)
  5. 表达式 isinstance('4', (int, float, complex)) 的值为_____________。(False)
  6. 表达式 type(3) in (int, float, complex) 的值为____________。(True)
  7. 表达式 type(3.0) in (int, float, complex) 的值为____________。(True)
  8. 表达式 type(3+4j) in (int, float, complex) 的值为____________。(True)
  9. 表达式 type('3') in (int, float, complex) 的值为____________。(False)
  10. 表达式 type(3) == int 的值为__________。(True)
  11. 在Python定义类时,与运算符“**”对应的特殊方法名为 ___________。(__pow())
  12. 在Python中定义类时,与运算符“//”对应的特殊方法名为_______________。(floordiv())
  13. 表达式type({}) == dict的值为_________________。(True)
  14. 表达式type({}) == set的值为_______________。(False)
  15. 在Python中,不论类的名字是什么,构造方法的名字都是________________。(__init__)
  16. 如果在设计一个类时实现了__contains__ ()方法,那么该类的对象会自动支持_____________运算符。(in)

第7章 文件操作

  1. 对文件进行写入操作之后,_______________方法用来在不关闭文件对象的情况下将缓冲区内容写入文件。(flush())
  2. Python内置函数_____________用来打开或创建文件并返回文件对象。(open())
  3. 使用上下文管理关键字______________可以自动管理文件对象,不论何种原因结束该关键字中的语句块,都能保证文件被正确关闭。(with)
  4. Python标准库os中用来列出指定文件夹中的文件和子文件夹列表的方式是____________。(listdir())
  5. Python标准库os.path中用来判断指定文件是否存在的方法是______________。(exists())
  6. Python标准库os.path中用来判断指定路径是否为文件的方法是_______________。(isfile())
  7. Python标准库os.path中用来判断指定路径是否为文件夹的方法是______________。(isdir())
  8. Python标准库os.path中用来分割指定路径中的文件扩展名的方法是__________。(splitext())
  9. Python扩展库_____________支持Excel 2007或更高版本文件的读写操作。(openpyxl)
  10. Python标准库____________中提供了计算MD5摘要的方法md5()。(hashlib)
  11. 已知当前文件夹中有纯英文文本文件readme.txt,请填空完成功能把readme.txt文件中的所有内容复制到dst.txt中,with open('readme.txt') as src, open('dst.txt', ____________) as dst:dst.write(src.read())。('w')
标签: python

本文转载自: https://blog.csdn.net/qq_52153640/article/details/125673171
版权归原作者 四分十七 所有, 如有侵权,请联系我们删除。

“Python基础知识题库(带答案)”的评论:

还没有评论