Python中for循环和while循环的区别
在这篇文章中,我们将了解 'for' 循环和 'while' 循环之间的区别。
For循环
一个for循环是一个控制流语句,它执行代码预定义次数的迭代。此控制流语句中使用的关键字是"for"。当迭代次数已知时,使用for循环。
for循环分为两个部分:
头部 - 此部分指定循环的迭代。在头部部分,还会声明循环变量,它告诉主体正在执行哪个迭代。
主体 - 主体部分包含每次迭代执行的语句。
初始化、条件检查和迭代语句写在循环的开头。
仅当预先知道迭代次数时才使用它。
如果在'for'循环中未提及条件,则循环将无限次迭代。
初始化只执行一次,不会重复。
迭代语句写在开头。
因此,它在循环中所有语句都执行完毕后才执行。
语法
for(initialization; condition; iteration){
//body of the 'for' loop
}
示例
以下程序使用for循环打印所有列表元素:
# input list inputList = [10, 20, 30, 40, 50] print("Input list elements:") # traversing through all elements of the list using for loop for element in inputList: # printing each element of the list print(element)
输出
执行上述程序后,将生成以下输出:
Input list elements: 10 20 30 40 50
While循环
一个循环,它对给定的true条件运行单个语句或一组语句。此循环由关键字"while"表示。当迭代次数未知时,使用while循环。语句重复执行,直到布尔值为false。因为条件是在while循环的开头测试的,所以它也称为前测试循环。
初始化和条件检查在循环的开头完成。
仅当不知道迭代次数时才使用它。
如果在'while'循环中未提及条件,则会导致编译错误。
如果在检查条件时进行初始化,则每次迭代循环时都会发生初始化。
迭代语句可以写在循环内的任何位置。
语法
while ( condition) {
statements;
//body of the loop
}
示例
以下程序使用for循环打印所有列表元素:
# Initializing a dummy variable with 1 i = 1 # Iterate until the given condition is true while i < 10: # printing the current value of the above variable print(i) # incrementing the value of i value by 1 i += 1
输出
执行上述程序后,将生成以下输出:
1 2 3 4 5 6 7 8 9
何时使用For和While循环?
当我们知道迭代次数,即语句必须执行多少次时,使用for循环。这就是为什么当我们初始化for循环时,必须定义结束点的原因。
当迭代次数未知时,使用while循环。当我们需要根据除重复次数以外的条件结束循环时,使用它。在这种情况下,不需要预先知道条件。这就是为什么我们可以在循环的初始化中使用布尔表达式的原因。
无条件的情况
如果在for和while循环中未指定条件,则循环将无限次迭代。
在没有条件的情况下,for循环和while循环之间的区别如下:
For循环 - 在以下示例中,循环将无限次运行。
示例
l = [1] for m in l: print("TutorialsPoint") l.append(m)
输出
执行上述程序后,将生成以下输出:
TutorialsPoint TutorialsPoint TutorialsPoint TutorialsPoint TutorialsPoint TutorialsPoint . . . . runs infinite times
我们从一个列表开始,并用一个随机值初始化它。然后,使用for循环和in运算符,我们遍历列表的元素。在循环内部,它将打印一些随机文本,然后我们向列表中添加另一个元素,因此由于新元素的存在,for循环再次执行。这样循环将无限次执行。
While循环 - 在以下示例中,循环将无限次运行。
示例
while True: print("TutorialsPoint")
输出
执行上述程序后,将生成以下输出:
TutorialsPoint TutorialsPoint TutorialsPoint TutorialsPoint TutorialsPoint TutorialsPoint . . . . runs infinite times
差异比较表
| 比较依据 | For循环 | While循环 |
|---|---|---|
| 关键字 | 使用for关键字 | 使用while关键字 |
| 用途 | 当迭代次数已知时使用for循环。 | 当迭代次数未知时使用while循环。 |
| 无条件情况 | 在没有条件的情况下,循环无限次运行 | 在没有条件的情况下返回编译时错误 |
| 初始化的性质 | 完成一次后,无法重复 | 在while循环中,它可以在每次迭代中重复。 |
| 函数 | 要迭代,使用range或xrange函数。 | while循环中没有这样的函数。 |
| 基于迭代的初始化 | 在循环开始时完成。 | 在while循环中,可以在循环体内的任何位置执行此操作。 |
| 生成器支持 | Python的for循环可以迭代生成器。 | While循环不能直接迭代生成器。 |
| 速度 | for循环比while循环快。 | 与for循环相比,while循环相对较慢。 |
结论
在本文中,我们学习了for循环和while循环之间的区别,以及while和for循环如何通过示例工作。
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP