而
一个而
循环是计算机编程中的一个命令,它重复执行另一组命令,直到满足某个条件。的而
循环和为
循环通常称为控制语句,因为它们控制程序的流程。
while循环的一个简单例子是一个简单的计数器。如果你想让一个程序从1计数到10,你可以写这样的代码(这段代码用Python编写):
1 2 3 4 |
|
这段代码将从计数器等于1开始。的状况而
循环是指计数器必须小于或等于10才能在而
循环。最初满足这个条件,就执行代码。计数器被打印出来,然后计数器加1,然后而
循环继续。的而
循环只有在条件停止满足时才会停止。在这种情况下,在
迭代而
循环时,计数器增加到11,因此条件不再满足而
循环停止。的具体情况而
循环被称为停止条件因为它“停止”了循环。
虽然上面的例子有确定的步骤数,而
循环通常用于预先不知道步数的情况。假设我们想要一个简单的应用程序来测量用户的生理反应时间。目标是让用户按下按钮两次,程序将记录按下按钮之间所经过的时间。程序可以通过第一次按下一个按钮来启动而
循环。在循环内部,计数器将像上面那样启动,然后测量所消耗的时间。停止条件可以是发生第二次按钮按下时。通过这种方式,循环将计算它在按下按钮之间运行了多长时间,从而计算响应时间。
While循环概述
While循环
while循环操作是在定义良好的条件(即停止条件)下不断重复步骤的过程,直到条件无法保持为止。
的停止条件调用的布尔语句布尔逻辑.这些陈述做出的断言不是真就是假。如果语句为真,则继续执行while循环。如果不是,则while循环不执行,程序在while循环下面继续执行。
不像for循环, while循环声明不会为循环初始化任何变量。它只是定义了停止条件。对变量的任何更改都必须在循环代码中进行。
停止条件也可以是布尔语句的串联。例如,下面的while循环在Python中是有效的:
1 2 3 4 5 6 7 |
|
对于这个while循环,实际上有两个暂停条件。如果lower_counter
如果超过14,或者upper_counter
如果低于9,while循环将停止。
之前而
循环在任何语言中运行时,程序首先检查条件是否为真。方法中的步骤而
循环,然后返回到条件。类的函数体如果条件仍然为真,它将再次执行而
循环。这种情况将继续下去,直到情况变得假
,在这一点上而
循环将被终止。
For循环vs While循环
为
循环与while循环.它们都定义了要重复运行的代码块。然而,两者之间几乎没有主要区别。
乘以a的次数为
循环迭代的定义很好。这意味着在代码运行之前,我们就知道循环将执行多少次。而
另一方面,循环可以无限地运行。
而
循环没有循环控制变量为
循环。这是有意义的,因为循环控制变量定义了循环代码将执行的次数,而这个次数并没有很好地定义而
循环。
的停止条件为
循环和而
循环做类似的事情。它们都用a来求值布尔声明.当该停止条件满足时,循环停止执行。
作为一个例子,下面是Python中的两个循环,它们做同样的事情。打印出1到100之间能被7整除的所有数。
为
循环
1 2 3 |
|
而
循环
1 2 3 4 |
|
这些循环看起来很相似,但是一个变量,x
,是需要的而
循环以方便停机条件。在这个例子中,为
循环更合适。
无限循环
而循环有一个有趣而危险的特性,那就是它们可以永远运行!这并不好,在计算机科学中它被称为无限循环。下面的例子显示了Python中的一个无限循环:
1 2 3 |
|
while循环中的代码不会修改变量计数器
,因此暂停条件永远不会计算为false。这个循环将永远运行(或者直到程序停止)。
无限循环让程序员和用户都很头疼,因为程序本身永远无法前进。这有点像看着电脑上的加载标志旋转(尽管它可能会在某个时刻停止)。程序永远无法到达while循环之后的代码,因为它全神贯注于while循环内的代码。作为程序员,避免无限循环是非常重要的。
While循环示例
把它们加起来
假设你想计算从1到任意自然数的和 .您必须将范围内的所有数字相加 到求和的每一步,直到 .
1 2 3 4 5 6总和=0计数器=1而计数器<=n:总和+ =计数器计数器=计数器+1
投资101
假设你有5000美元,你想把它投资。银行每年给你10%的利息。
- 写一个函数计算3年后的新余额。
- 写另一个函数,告诉你要等多少年才能得到1万美元。
在Python中找到新平衡的示例解决方案:
1 2 3 4 5 6deffind_balance(年,interest_rate,平衡):计数器=1而计数器<=一年:平衡+ =平衡*interest_rate计数器+ =1打印“你的余额% d几年之后% d美元”%(年,平衡)
在Python中找到到期时间的示例解决方案:
1 2 3 4 5 6deffind_time(interest_rate,平衡,target_balance):年=0而平衡<target_balance:平衡+ =平衡*interest_rate年+ =1打印“你的平衡会达到% d后% d年”%(target_balance,年)
While循环在各种语言
while循环可以在不同的语言中采用不同的语法。下面是一些流行语言中的while循环示例。所有这些while循环在它们各自的语言中都做同样的事情。
Python
1 2 3 |
|
Java
1 2 3 4 |
|
C和c++
1 2 3 4 |
|
注意:Go没有while循环,也没有while循环。要创建自己的循环,需要使用for循环。
Do While循环
如上所述以上,当程序最初进入while循环时,首先执行停止条件。因此,这段代码将有以下输出(它是在JavaScript中,因为Python没有do while循环):
1 2 |
|
然而,还有另一个类似的控制流命令,称为do while循环。do while循环将在点处计算停止条件底while循环代码的。这意味着代码在终止之前至少会执行一次。
1 2 3 4 |
|
do while循环通常可以通过改变停止条件来避免,但在某些语言中仍然是一个选项。
While循环中的控制语句
有时需要提前中断或更改while循环的执行。每种语言都有自己的方式。属性可以中断或停止代码的执行打破
声明。
1 2 3 4 5 6 |
|
这将停止while循环。
方法还可以决定跳过部分循环代码,直接进入循环的下一次迭代继续
声明。例如,
1 2 3 4 5 6 |
|
在这段代码中,变量计数器
会增加2,直到超过10,在这一点上,它只会增加1,直到达到20,循环结束。
While循环练习
- 编写一些代码,接受一个长度大于或等于5的数组。使用while循环,返回一个包含输入数组前5个元素的数组。
在Python中,这个问题的答案可能是这样的。
1 2 3 4 5 6 7defwhile_loop_answer(一个):回答=[]指数=0而len(回答)! =5:回答.附加(一个[0])指数+ =1返回回答
参考文献
- A, D。Wikipedia While Loop.检索2016年6月7日,从https://en.wikipedia.org/wiki/While_loop