1. #切片:
  2. # L = ['aaa', 'bbb', 'ccc', 'ddd']
  3. # print(L[1 : 3]) #取[1, 3):下标
  4. # L = list(range(100))
  5. # print(L[:10])
  6. # print(L[-10:])
  7. #
  8. # print(L[2:10:4]) #从2开始取,步长为4,小于10
  9. # # [2, 6]
  10. # print('abcdefg'[:3])
  11. # # abc
  12. # print('abcdefg'[::2])
  13. # # aceg
  14.  
  15. #取出字符串的首位空格的函数
  16. # def trim(s):
  17. # if s == '':
  18. # return ''
  19. # len1 = len(s)
  20. # i = 0
  21. # j = len1 - 1
  22. # while i < len1 and s[i] == ' ':
  23. # i += 1
  24. # print(i)
  25. # while j > 0 and s[j] == ' ' :
  26. # j -= 1
  27. # print(j)
  28. # if i <= j:
  29. # print(i, (j))
  30. # return s[i:j+1]
  31. # else:
  32. # return ''
  33.  
  34. #递归写法:
  35. # def trim(s):
  36. # if s == '':
  37. # return s
  38. # if s[:1] == ' ':
  39. # # if s[0] == ' ':
  40. # return trim(s[1:])
  41. # if s[-1:] == ' ':
  42. # # if s[-1] == ' ':
  43. # return trim(s[:-2])
  44. # else:
  45. # return s
  46. #递归写法2:
  47. def trim(s):
  48. if s == '':
  49. return s
  50. if s[0] == ' ':
  51. s = trim(s[1: ]) #如果这里不用返回值的话,必须要在下面判空,否则可能s已经为空了,再去做下一个if判断,就会越界
  52. # return trim(s[1: ])
  53. if s == '':
  54. return s
  55. if s[-1] == ' ':
  56. s = trim(s[ :-2])
  57. # return trim(s[ :-2])
  58. return s
  59. #
  60. # # 测试:
  61. t = [1, 2, 3, 4, 5]
  62. print(t[:-2])
  63.  
  64. if trim(' ') != '':
  65. print('ys' + trim(' hello') + 'ys')
  66. print('no')
  67. #
  68. if trim('hello ') != 'hello':
  69. print('a' + trim('hello ') + 'b')
  70. print('1测试失败!')
  71. elif trim(' hello') != 'hello':
  72. print('2测试失败!')
  73. elif trim(' hello ') != 'hello':
  74. print('3测试失败!')
  75. elif trim(' hello world ') != 'hello world':
  76. print('4测试失败!')
  77. elif trim('') != '':
  78. print('5测试失败!')
  79. elif trim(' ') != '':
  80. print('6测试失败!')
  81. else:
  82. print('测试成功!')

  

2-python代码坑点的更多相关文章

  1. [代码修订版] Python 踩坑之旅 [进程篇其四] 踩透 uid euid suid gid egid sgid的坑坑洼洼

    目录 1.1 踩坑案例 1.2 填坑解法 1.3 坑位分析 1.4 技术关键字 1.5 坑后思考 下期坑位预告 代码示例支持 平台: Centos 6.3 Python: 2.7.14 代码示例: 公 ...

  2. [代码修订版] Python 踩坑之旅进程篇其五打不开的文件

    目录 1.1 踩坑案例 1.2 填坑和分析 1.2.1 从程序优化入手 1.2.2 从资源软硬限入手 1.4.1 技术关键字 下期坑位预告 代码示例支持 平台: Centos 6.3 Python: ...

  3. Python 代码风格

    1 原则 在开始讨论Python社区所采用的具体标准或是由其他人推荐的建议之前,考虑一些总体原则非常重要. 请记住可读性标准的目标是提升可读性.这些规则存在的目的就是为了帮助人读写代码,而不是相反. ...

  4. ROS系统python代码测试之rostest

    ROS系统中提供了测试框架,可以实现python/c++代码的单元测试,python和C++通过不同的方式实现, 之后的两篇文档分别详细介绍各自的实现步骤,以及测试结果和覆盖率的获取. ROS系统中p ...

  5. 杂记:Python 两坑

    近日写代码又遇到两个 Python 的坑,觉得值得记录. 递归传参问题 Python 里传参的实现是 assignment,但由于 Python 里都是对象,除了几个基本类型,assignment 基 ...

  6. Python踩坑之旅其一杀不死的Shell子进程

    目录 1.1 踩坑案例 1.2 填坑解法 1.3 坑位分析 1.4 坑后扩展 1.4.1 扩展知识 1.4.1 技术关键字 1.5 填坑总结 1.1 踩坑案例 踩坑的程序是个常驻的Agent类管理进程 ...

  7. Python 踩坑之旅进程篇其四一次性踩透 uid euid suid gid egid sgid的坑坑洼洼

    目录 1.1 踩坑案例 1.2 填坑解法 1.3 坑位分析 1.4 技术关键字 1.5 坑后思考 下期坑位预告 代码示例支持 平台: Centos 6.3 Python: 2.7.14 代码示例: 菜 ...

  8. Python 踩坑之旅文件系统篇其一文件夹也是个文件

    目录 1.1 案例 1.2 分析 1.3 扩展 1.4 技术关键字 下期预告 代码示例支持 平台: Mac OS Python: 2.7.10 代码示例: - wx: 菜单 - Python踩坑指南代 ...

  9. 推荐一款Python神器,5 行 Python 代码 实现一键批量扣图

    今天给大家分享一款Python装逼实用神器. 在日常生活或者工作中,经常会遇到想将某张照片中的人物抠出来,然后拼接到其他图片上去.专业点的人可以使用 PhotoShop 的"魔棒" ...

  10. python的坑--你知道吗?

    python的坑--你知道吗? 1.列表的坑 坑的地方是:因为列表用pop之后,后面的索引都会自动减一 # 列表的坑之一 list1 = ['python','java','php','c','c++ ...

随机推荐

  1. 一次不成功的脚本Hack[捕鱼达人游戏]

    捕鱼达人这款游戏[http://keleyi.com/game/1/] 想当然的以为在这个id为“fishContainer”的div上绑定一个点击事件,子弹就可以快速的发射. 为此用油猴挂载了一个j ...

  2. 简单实用的跨域表单POST提交

    我们这里使用了iframe嵌套form表单POST提交,很简单,却能满足get|post等任何复杂情况的要求:缺点是没有返回值. 针对需要的地方加上一个iframe嵌套并塞入隐藏form表单,然后获取 ...

  3. 在javascript中使用提示信息来熟悉当前的程序流程

    最近,因为需要,开始了解javascript,这个对我来说是个新的东西,在分析现有程序的功能的时候,需要增加一些提示信息来帮助了解程序的处理流程.于是在网上了解了一下提示信息的使用和区别.在此整理一下 ...

  4. 列表推导式,两个for循环的例子

    [a for a in alist for b in blist if a>b] for i in alist,blist: print(i) >>  alist[] >> ...

  5. 在C#获取麦克风输入的声音的波形图

    怎么获取声音波动的频率,在网上找来一些这方面的资料: DirectX的 DirectSound http://zhidao.baidu.com/question/448587955.html http ...

  6. Ambari和YARN的Capacity调度器,安装过程

    用Spark测试YARN的资源池,测试过程中发现很多时候爆资源不够: 于是添加机器,专门用于跑spark:首先是ssh不通,原来错把71的id_psa.put文件拷贝到64上面:后来ssh通了,amb ...

  7. (转)安装Android SDK时遇到Failed to rename directory

    安装Android SDK时遇到Failed to rename directory E:\Java\Android SDK\android-sdk_r06-windows\android-sdk-w ...

  8. 关于yii2的中文乱码问题

    在数据库配置中这么配就可以了 <?php return [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=127.0.0. ...

  9. 常用JavaScript操作页面元素的方法

    1.取得dropdownlist的选中值 var ddl =document.getElementById('<%=ddlusers.ClientID%>'); var index = d ...

  10. tp5 快速接入扫码支付

    前提是申请好微信支付,同时配置好key,以及支付回调地址 1.composer composer require yansongda/pay 2.引入 use Yansongda\Pay\Pay; / ...