python100题菜鸟教程python100题解题技巧快手python100题
下载地址 https://share.weiyun.com/Fz43Qnru
资料目录 Python练习集100题 100道Python面试题 Python100经典练习题 Python经典题目100道题 Python题库(已收录100道真题) Python100例视频讲解课程 菜鸟教程Python教程100例 130道python练习题,涵盖基础内容的方方面面
举例 逻辑推理练习(字符串) 不用代码,口述回答下面代码的执行结果 string = "Python is good" 1. string[1:20] 2. string[20] 3. string[3:-4] 4. string[-10:-3] 5. string.lower() 6. string.replace("o", "0") 7. string.startswith('python') 8. string.split() 9. len(string) 10. string[30] 11. string.replace(" ", '') 答案如下 1. 'ython is good' 2. 报错 3. 'hon is ' 4. 'on is g' 5. 'python is good' 6. 'Pyth0n is g00d' 7. False 8. ['Python', 'is', 'good'] 9. 14 10. 报错 11. 'Pythonisgood' 第2题和第10题都报错,是因为超出了索引范围,字符串长度为14,你去20和30的位置取值,当然会报错 关于切片操作,只需要知道从哪里开始到哪里结束就一定能推导出答案,以string[3:-4]为例,3是开始的位置,-4是结束的位置,但这个范围是左闭右开的,从3开始没错,但不会到-4,而是到-5,更前面的一个位置,python支持负数索引,或者说是反向索引,从右向左从-1开始逐渐减小。 第一题中,做切片的时候是从1开始,到20结束,即便是右开,直到19,也仍然超出了索引范围,为什么不报错呢,这就是语言设计者自己的想法了,切片时,不论是开始位置还是结束位置,超出索引范围都不会报错,我猜,大概是由于切片是一个范围操作,这个范围内有值就切出来,没值返回空字符串就好了。
|