Python刷题-7

简介: Python刷题-7

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<j:
        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<j ,则此时调用 满足的条件 ,又调用func ,此时传入的参数为 a、1,4 。这时需要执行函数,而不能往下执行,即暂不可执行第一次的 交换元素 s[0],s[5] = s[5],s[0].


执行内部函数 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 列表排序默认升序



目录
相关文章
|
存储 算法 Java
python/测试/测开-刷题第5天
python/测试/测开-刷题第5天
python/测试/测开-刷题第4天
python/测试/测开-刷题第4天
|
Java Python
python/测试/测开-刷题第3天
python/测试/测开-刷题第3天
python/测试/测开-刷题第2天
python/测试/测开-刷题第2天
【Python刷题记录】Python 练习实例1
有两个磁盘文件A和B,各存放一行字母中。 要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件C中。
【Python刷题记录】Day1-选择题
整形变量x中存放了一个两位数,要将这个两位数的个位数的个位数字和十位数字交换位置,例如,13变成31,正确的Python表达式是什么?
|
Python
【刷题篇】领扣3174.值为下标的倍数的元素个数(python)
【刷题篇】领扣3174.值为下标的倍数的元素个数(python)
|
计算机视觉 Python
【Python百日刷题计划】Day11~类和模块的基本练习
【Python百日刷题计划】Day11~类和模块的基本练习
【Python百日刷题计划】Day11~类和模块的基本练习
|
JSON 固态存储 数据格式
【Python百日刷题计划】Day8~网页分析和一些基础题目
【Python百日刷题计划】Day8~网页分析和一些基础题目
147 0
【Python百日刷题计划】Day8~网页分析和一些基础题目