调试(使用ipython):

In [2]: s = 'asdfasdf asdf asdf asd sdfa'

In [4]: def count_words(sentence):

...: count = 0

...: last_position = 0

...:

...: while sentence.find(" ", last_position) != -1:

...: count += 1

...: print(f'count: {count}, position: {last_position}')

...: last_position = sentence.find(" ", last_position)

...: print(f'new position: {last_position}')

...: if count > 4:

...: break

...: return count

...:

In [5]: count_words(s)

count: 1, position: 0

new position: 8

count: 2, position: 8

new position: 8

count: 3, position: 8

new position: 8

count: 4, position: 8

new position: 8

count: 5, position: 8

new position: 8

Out[5]: 5

看看原因:

In [6]: s.find?

Docstring:

S.find(sub[, start[, end]]) -> int

Return the lowest index in S where substring sub is found,

such that sub is contained within S[start:end]. Optional

arguments start and end are interpreted as in slice notation.

Return -1 on failure.

Type: builtin_function_or_method

定影:

In [7]: def count_words(sentence):

...: count = 0

...: last_position = 0

...:

...: while sentence.find(" ", last_position) != -1:

...: count += 1

...: last_position = sentence.find(" ", last_position+1)

...: return count

...:

In [8]: count_words(s)

Out[8]: 5

无限循环python代码_python - 代码遇到意外的无限循环? - SO中文参考 - www.soinside.com...相关推荐

  1. python调用cplex_python - 如何使用docplex(python)在优化问题中建模约束? - SO中文参考 - www.soinside.com...

    我需要解决类似于背包问题的优化问题.我在这篇文章中详细介绍了优化问题:knapsack optimization with dynamic variables我实际上需要使用python而不是OPL, ...

  2. python用函数绘制椭圆_python - 如何使用python从3个点找到椭圆的方程 - SO中文参考 - www.soinside.com...

    听起来很有趣!如果您的3个点击点位于同一象限中,则由这些点定义的三角形的一个角度必须是钝角.调用B和其他两个顶点A和C. x-y定向椭圆的一般方程中有4个参数.将A,B和C的x和y坐标代入椭圆方程将给 ...

  3. python安装依赖失败_python - pip安装jq依赖关系失败 - SO中文参考 - www.soinside.com

    这是我在stackoverflow上的第一个问题.我成功地安装了其他需要的包,如箭头,但我无法安装.jq. https:/pypi.orgprojectjq. 我尝试安装 jq 在Win10上使用此命 ...

  4. python画曲线的趋势线_python - 在时间序列图中添加趋势线 - SO中文参考 - www.soinside.com...

    如果通过"趋势线"表示文字行,那么您可能希望对数据进行线性回归.在sklearn的provides this functionality python. 从上面的超链接示例: im ...

  5. python数组转换为列表_python - 将一系列数组转换为单个列表 - SO中文参考 - www.soinside.com...

    我需要将数组中具有数组的序列转换为列表.这是系列:0 0 [[136.26198653744652]] 1 [[595.1701354429704]] 2 [[106.31607570796812]] ...

  6. python 字典操作 内存占用,python - 如何强行释放字典使用的内存? - SO中文参考 - www.soinside.com...

    我正在研究一个Python脚本,该脚本查询几个不同的数据库以整理数据并将所述数据持久保存到另一个数据库.该脚本从大约15个不同数据库中的数百万条记录中收集数据.为了尝试加快脚本速度,我提供了一些缓存功 ...

  7. python 在末尾增加一个字符串,python - Python File.write在末尾添加额外的字符串 - SO中文参考 - www.soinside.com...

    我正在使用python(3.6)更新文本文件,并打开r +with open(f+'.play', 'r+') as f2: play = f2.read() result = manipulate( ...

  8. range函数python循环次数_Python的range函数与for循环语句

    Python的range函数与for循环语句 米粒教育 发布时间:18-11-1518:49 介绍Python for循环语句和range函数的使用,文中主要讨论for循环语句,Python的for循 ...

  9. python顺序结构代码_Python代码结构——顺序、分支、循环

    ## 顺序结构 - 按照从上到下的顺序,一条语句一条语句的执行,是最基本的结构 ## 分支结构 if condition: statement statement ... elif condition ...

最新文章

  1. C#共享内存实例 附源码
  2. R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(boxplot)实战
  3. Docker | makefile错误提示 *** missing separator. Stop.
  4. 并发编程-17AQS同步组件之 Semaphore 控制并发线程数的信号量
  5. Android Listview 性能优化
  6. 初步了解Redis Streams以及如何在Java中使用它们
  7. HTML+CSS+JS实现 ❤️svg图片透明层文本显示❤️
  8. Magento 获取当前货币和货币符How to get current currency in Magento
  9. RequireJS API
  10. ibatis+Castle.MCV 版 NPetshop3
  11. 【Flink】Flink 消费 kafka 实现 限流处理 RateLimiter
  12. PYPL 1 月 IDE 榜单:Visual Studio Code 猛追 IntelliJ
  13. 国产SSD市场机遇与挑战并存
  14. 32/64位Win7_2017.09通用多合一安装版/Ghost版
  15. linux里case命令,Linux系统中的case命令怎么用
  16. matlab coder 转 c语言,MATLAB Coder从MATLAB生成C/C++代码步骤
  17. 通过Arrays.asList数组转为集合的坑
  18. 票房拐点之后的影院并购,继续“小而频”还是大洗牌
  19. 安装屏保软件(Linux终端演示 “黑客帝国” 字母雨界面)和Linux修改管理员密码...
  20. 使用Eclipse创建Java应用程序,实现从控制台输出多行信息:姓名、年龄、爱好

热门文章

  1. Java Swing Mysql实现的员工工资管理系统项目源码附带视频指导运行教程
  2. 三星android11推送,三星将在2020年1月开始推送Android 10系统:等太久
  3. 小程序弹框出现,底部页面也跟随滚动
  4. Caffe Batch Normalization推导
  5. orchard文档之-搜索和索引
  6. 个人DP训练(基础版)
  7. 《C程序设计语言》 第三章 控制流
  8. Oracle在Solaris下的机能与调整简介
  9. linux中df和ls区别,linux系统文件大小ls、df、du命令的区别
  10. 8、不与最大值相同的数字之和