python输入以字符A结束_Python专项基础练习(字符串)练习题

641bbc69d3a898dc0924f83dc57e0492.png

1、 字符串练习题

1.1、字符串内置方法练习

在交互式解释器中完成下列题目

  1. 将字符串 "abcd" 转成大写
  2. 计算字符串 "cd" 在 字符串 "abcd"中出现的位置
  3. 字符串 "a,b,c,d" ,请用逗号分割字符串,分割后的结果是什么类型的?
  4. "{name}喜欢{fruit}".format(name="李雷") 执行会出错,请修改代码让其正确执行
  5. string = "Python is good", 请将字符串里的Python替换成 python,并输出替换后的结果
  6. 有一个字符串 string = "python修炼第一期.html",请写程序从这个字符串里获得.html前面的部分,要用尽可能多的方式来做这个事情
  7. 如何获取字符串的长度?
  8. "this is a book",请将字符串里的book替换成apple
  9. "this is a book", 请用程序判断该字符串是否以this开头
  10. "this is a book", 请用程序判断该字符串是否以apple结尾
  11. "This IS a book", 请将字符串里的大写字符转成小写字符
  12. "This IS a book", 请将字符串里的小写字符,转成大写字符
  13. "this is a bookn", 字符串的末尾有一个回车符,请将其删除

在看答案之前,我要非常明确的告诉你,答案所涉及的每一个字符串方法,都是需要你记忆下来的,就像九九乘法表那样熟记于心,这不是要求,而是必须,否则,你凭什么说你会一门编程语言呢? 聪明从来不自己骗自己!

答案如下

1. "abcd".upper()

2. "abcd".find('cd')

3. "a,b,c,d".split(',')

4. "{name}喜欢{fruit}".format(name="李雷", fruit='苹果')

5. string.replace('Python', 'python') 或者 print(string.replace('Python','python'))

6. string[0:string.find('.html')] 或者string[0:-5]

7. 使用len函数

8. "this is a book".replace('book', 'apple')

9. "this is a book".startswith('this')

10. "this is a book".endswith('apple')

11. "This IS a book".lower()

12. "This IS a book".upper()

13. "this is a bookn".strip()

这里只对其中2个题目讲解

第4小题的程序直接运行会报错,因为字符串里面有两个需要替换的位置,而format方法里只传入了一个参数,显然是不够

第13小题,strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列, n 就是换行符,这里又涉及到转义字符这个概念,本篇不做详细讲解,求知欲强的同学可以自己百度一下

1.2、逻辑推理练习(字符串)

不用代码,口述回答下面代码的执行结果
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,也仍然超出了索引范围,为什么不报错呢,这就是语言设计者自己的想法了,切片时,不论是开始位置还是结束位置,超出索引范围都不会报错,我猜,大概是由于切片是一个范围操作,这个范围内有值就切出来,没值返回空字符串就好了。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值