怎么避免Python程序出现死循环(无限循环)?
要知道,每个循环结构(while 或 for)都必须有停止运行的途径,这样才不会没完没了地执行下去。
例如,下面的循环从1数到5:
每个程序员都会偶尔因为不小心而编写出无限(死)循环,在循环的退出条件比较微妙时尤其如此。
如果程序陷入无限循环,可按组合键
读者可能会问,怎样才能有效避免编写出包含无限循环的程序呢?
要避免编写无限(死)循环,应务必对每个 while 循环(或 for 循环)进行测试,确保它按预期那样结束。如果希望程序在用户输入特定值时结束,可运行程序并输入这样的值,如果此时程序没有结束,则说明该循环结构会无限循环,应检查程序处理这个值的方式。
总之,解决无限(死)循环的方法只有一个,即确认循环结构中至少有一个位置能让循环条件为 False 或让 break 语句得以执行。
例如,下面的循环从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 语句得以执行。
所有教程
- socket
- Python基础教程
- C#教程
- MySQL函数
- MySQL
- C语言入门
- C语言专题
- C语言编译器
- C语言编程实例
- GCC编译器
- 数据结构
- C语言项目案例
- C++教程
- OpenCV
- Qt教程
- Unity 3D教程
- UE4
- STL
- Redis
- Android教程
- JavaScript
- PHP
- Mybatis
- Spring Cloud
- Maven
- vi命令
- Spring Boot
- Spring MVC
- Hibernate
- Linux
- Linux命令
- Shell脚本
- Java教程
- 设计模式
- Spring
- Servlet
- Struts2
- Java Swing
- JSP教程
- CSS教程
- TensorFlow
- 区块链
- Go语言教程
- Docker
- 编程笔记
- 资源下载
- 关于我们
- 汇编语言
- 大数据
- 云计算
- VIP视频