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].

  1. 执行内部函数 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]. 再往上推

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

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

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

  1. 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 列表排序默认升序
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

少云清

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值