1、下面哪个是Python中的不变的数据结构? (C)

A、set

B、list

C、tuple

D、dict

2、下列代码输出为: 6

str1 = "Hello,Python";

str2 = "Python";

print(str1.index(str2));

index()方法语法:

str.index(str, beg=0, end=len(string))

参数

str -- 指定检索的字符串

beg -- 开始索引,默认为0。

end -- 结束索引,默认为字符串的长度。

从Hello开始数到p截止,从下标0开始数

str2指向字符串Python的起始位置,即P所在的位置。

str1.index(str2)即返回str1中str2指向的P位置的下标。

str1是一个字符串,下标从0开始数起,数到P就是6,注意逗号在字符串内也占一个位置。

详解:str1.index(str2)找到str2的起始字符,对应str1中哪个位置,从0开始数,这就是索引

3、以下哪个代码是正确的读取一个文件? (C)

A、f = open("test.txt", "read")

B、f = open("r","test.txt")

C、f = open("test.txt", "r")

D、f = open("read","test.txt")

Python中,打开文件语法为:

text = oepn(filePath, 操作方式,编码方式)

常见操作方式

'r':读

'w':写

'a':追加

常见编码方式

utf-8

gbk

4、下列哪种类型是Python的映射类型?(D)

A、str

B、list

C、tuple

D、dict

映射是一种关联式的容器类型,它存储了对象与对象之间的映射关系,字典是python里唯一的映射类型,它存储了键值对的关联,是由键到键值的映射关系。

5、如下程序的运行结果为:

def func(s,i,j):

if i

func(s,i+1,j-1)

s[i],s[j] =s[j],s[i]

def main():

a = [10,6,23,-90,0,3]

func(a,0,len(a)-1)

for i in range(6):

print(a[i])

print('\n')

main()

答案:这是一道递归的题目

3

0

-90

23

6

10

1.首先,调用main() 函数内,已经定义了一个列表 a ,传入到func函数内,第一次传入的参数中 i,j 分别代表列表的首位、末尾值。即

i = 0 ,j = 5 此时满足 i

执行内部函数 func(a,1,4) 则也满足 1<4 此时还需要再调用 func(a,2,3) .暂不执行 s[1],s[4]] = s[4],s[1].

3.再执行内部函数 func(a,2,3) ,还是满足2<3 此时还需要再调用 func(a,3,2) .暂不执行 s[2],s[3]] = s[3],s[2].

4.再执行内部函数func(a,3,2),此时不满足 3<2 . 即不执行任何内容。此时内部循环函数全部结束。再往上推。

5.上一步内部函数执行完后,则执行交换s[2],s[3]] = s[3],s[2]. 再往上推

s[1],s[4]] = s[4],s[1],再往上推

s[0],s[5] = s[5],s[0] 。即全部func结果结束。即交换了各个位置的元素。第一个变成最后一个、第二个变成倒数第二个、第三个变成倒数第三个。原来 的 a = [10,6,23,-90,0,3]

交换后的 a = [3,0,-90,23,6,10]

for循环依次打印出a列表元素 ,每次打出一个都进行换行操作。

6、下面程序运行结果为:

for i in range(5):

i+=1

print("-------")

if i==3:

continue

print(i)

-------

1

-------

2

-------

-------

4

-------

5

考察 continue 跳出本句的循环,但循环仍在继续。故 i = 3 时不进行打印

7、下列代码输出为:TRUE

str = "Hello,Python"

suffix = "Python"

print (str.endswith(suffix,2))

str.endswith(suffix,2) 中的2是指:从字符串"Hello,Python" 中的位置2,也就是第一个‘l’开始检索,判断是否以suffix结尾,故本题输出 True 。

8、下列关于python socket操作叙述正确的是( CD )

A、使用recvfrom()接收TCP数据

B、使用getsockname()获取连接套接字的远程地址

C、使用connect()初始化TCP服务器连接

D、服务端使用listen()开始TCP监听

使用recvfrom()接收TCP数据(错误) socket.recv是tcp协议,recvfrom是udp传输 返回值是(data,address)

其中data是包含接收数据的字符串,address是 发送数据 的套接字地址。

使用getsockname()获取连接套接字的远程地址(错误) 返回套接字自己的地址

通常是一个元组(ipaddr,port)

使用connect()初始化TCP服务器连接 连接到address处的套接字。

一般address的格式为元组(hostname,port),如果连接出错,返回socket.error错误。

服务端使用listen()开始TCP监听

9、下列程序打印结果为: [1, 2, 3, 4, 5, 5, 7]

nl = [1,2,5,3,5]

nl.append(4)

nl.insert(0,7)

nl.sort()

print nl

append()方法是指在列表末尾增加一个数据项。

extend()方法是指在列表末尾增加一个数据集合。

insert()方法是指在某个特定位置前面增加一个数据项。

nl=[1,2,5,3,5];nl.append(4)得nl=[1,2,5,3,5,4];

nl.insert(0,7)得nl=[7,1,2,5,3,5,4];

nl.sort()输出[1,2,3,4,5,5,7] # sort 列表排序默认升序