要知道,每个循环结构(while 或 for)都必须有停止运行的途径,这样才不会没完没了地执行下去。

例如,下面的循环从1数到5:

x = 1

while x <= 5:

print(x)

x += 1

运行结果为:

1

2

3

4

5

但如果像下面这样不小心遗漏了代码行x += 1,那么这个循环将没完没了地运行:

#这个循环将没完没了地运行

x = 1

while x <= 5:

print(x)

在这里,x 的初始值为 1,但根本不会变,因此条件测试x <= 5始终为 True,导致 while 循环没完没了地打印 1,运行结果如下所示:

1

1

1

1

--snip--

每个程序员都会偶尔因为不小心而编写出无限(死)循环,在循环的退出条件比较微妙时尤其如此。

如果程序陷入无限循环,可按组合键Ctrl+C,也可关闭显示程序输出的终端窗口,如果前 2 种方式都无效,比如有些编辑器(如 Sublime Text)内嵌了输出窗口,这可能导致难以结束无限循环,因此不得不关闭编辑器来结束无限循环。

读者可能会问,怎样才能有效避免编写出包含无限循环的程序呢?

要避免编写无限(死)循环,应务必对每个 while 循环(或 for 循环)进行测试,确保它按预期那样结束。如果希望程序在用户输入特定值时结束,可运行程序并输入这样的值,如果此时程序没有结束,则说明该循环结构会无限循环,应检查程序处理这个值的方式。

总之,解决无限(死)循环的方法只有一个,即确认循环结构中至少有一个位置能让循环条件为 False 或让 break 语句得以执行。

python死循环_怎么避免Python程序出现死循环(无限循环)?相关推荐

  1. python书籍_最好的Python书籍,让您像专业程序员一样编程

    Python是一种值得学习的语言.学习Python不仅会激发你用最简单的方式完成高度复杂的任务,还会打破传统编程范型的藩篱.Python是能够改变你的编程方式进而改变你看问题的角度的一种语言. Pyt ...

  2. 微信 小程序 python 渲染_干货 | 微信小程序自动化测试最佳实践(附 Python 源码)...

    本文为霍格沃兹测试学院测试大咖公开课<微信小程序自动化测试>图文整理精华版,进阶学习文末加群! 随着微信小程序的功能和生态日益完善,很多公司的产品业务形态逐渐从 App 延升到微信小程序. ...

  3. 有趣的超短python代码_有趣的python精短程序

    python可以简单优美,也很有趣,下面是收集的例子: 1.一句话开始一个http的文件服务器: $ python -m SimpleHTTPServer Serving HTTP on 0.0.0. ...

  4. 微信小程序python自动化测试_干货 | 微信小程序自动化测试最佳实践(附 Python 源码)...

    本文为霍格沃兹测试学院测试大咖公开课<微信小程序自动化测试>图文整理精华版. 随着微信小程序的功能和生态日益完善,很多公司的产品业务形态逐渐从 App 延升到微信小程序.微信公众号等.小程 ...

  5. 学习python课程_想学习Python吗? 这是我们的免费4小时互动课程

    学习python课程 Python is a popular, versatile and easy-to-learn language. It's the go-to language for AI ...

  6. 2018年python薪资_最好的Python:2017和2018年至今我最喜欢的文章集

    2018年python薪资 我打算发布此收藏集 (My intention with publishing this collection) Last year I only used Medium ...

  7. python股市_如何使用python和破折号创建仪表板来主导股市

    python股市 始终关注大局 (Keep Your Eyes on the Big Picture) I've been fascinated with the stock market since ...

  8. 少儿编程python教材_少儿编程|Python环境安装

    一.为什么要学Python? 小学 山东,浙江,北京地区小学已将Python内容纳入教材 高中 浙江省已将信息技术教材编程语言替换为Python 大学 计算机二级考试加入"Python 语言 ...

  9. python竞赛_浅谈Python在信息学竞赛中的运用及Python的基本用法

    浅谈Python在信息学竞赛中的运用及Python的基本用法 前言 众所周知,Python是一种非常实用的语言.但是由于其运算时的低效和解释型编译,在信息学竞赛中并不用于完成算法程序.但正如LRJ在& ...

  10. qt designer python显示_请问在python怎么使用qtdesigner设计的ui?

    OS X EI Capitan Python 3.5.1 PyQt 5.5.1 PyCharm 5.0.1 前言 在PyQt5系列教程的第一篇h50218157,我们已经搭建好了开发环境,今天,我们就 ...

最新文章

  1. 使用Jittor实现Conditional GAN
  2. 企业靠这些 云端数据就能得到企业级的安全守护
  3. 【JavaSE04】Java中循环语句for,while,do···while
  4. jmeter测试udp收发数据
  5. 理解动态语言inline cache优化
  6. es 同义词 热更新 1.1版本
  7. .依存句法分析--提取用户评论
  8. Ubuntu 20.04安装Ros Noetic及Ubuntu 18.04安装ROS Melodic(两版本详细填坑)
  9. [绝对原创]从VS2003(.net1.1)升级到vs2005(.net2.0)全程跟踪记录
  10. jquery的autocomplete在firefox下不支持中文输入法的bug
  11. TP5的类似TP3使用‘DEFAULT_THEME’的配置修改主题风格的方法,以及常见模板错误...
  12. 惠普打印机墨盒更换教程_惠普打印机换墨盒图解 惠普打印机怎么换墨盒
  13. 微信小程序之 收藏功能
  14. 冯诺依曼结构和现代计算机结构模型
  15. selenium如何通过快捷键关闭浏览器打开的新页签
  16. 【华为OD机试-按身高和体重排队-Java】
  17. mysql eav_Magento的EAV模型窥探
  18. 全国计算机水平考试技巧,备考计算机等级考试的技巧
  19. swift 隐藏状态栏_Swift - 动态改变状态栏statusBar文字颜色(preferredStatusBarStyle无效问题)...
  20. php+一些常用小技巧,PHP 7 中的一些小技巧,你知道的有哪些

热门文章

  1. 所有计算机都可以安装win7,t570都可以装win7系统吗_win7 64位系统所有电脑都能装吗...
  2. 【名企招聘】4月26日19点,涛思数据带着高薪岗位JD和精美周边来啦~
  3. 最小二乘法节点定位(1)——小知识:非线性方程线性化
  4. Java--中文转换拼音,jpinyin-1.0.jar
  5. 浅析企业上下级沟通的障碍及对策
  6. RAC修改IP(public/virtual/scan)
  7. 免费电子书下载网站汇总
  8. excel 第3讲:查找、替换与定位
  9. UserWarning: Usage of dash-separated ‘script-dir‘ will not be supported in future versions. 笔记
  10. npm install报错10054,Error while executing