而
一个而
循环是计算机编程中的一种命令,它重复执行另一组命令,直到满足某个条件。的而
循环和为
循环通常被称为控制语句,因为它们控制程序的流程。
while循环的一个简单示例是一个简单的计数器。如果你想让程序从1数到10,你可以这样写(这段代码是用Python写的):
1 2 3 4 |
|
这段代码将以计数器等于1开始。的状况而
函数中执行代码时,计数器必须小于或等于10而
循环。最初满足这个条件,因此执行代码。计数器被打印出来,然后计数器增加1,然后而
循环继续。的而
循环只有在条件不再满足时才会停止。在本例中,在
迭代的而
循环时,计数器增加到11,因此不再满足条件,并且而
循环停止。具体情况而
循环被称为a停止条件因为它“停止”了循环。
尽管上面的例子有一定数量的步骤,而
循环通常用于事先不知道步数的情况。假设我们想要一个简单的应用程序来测量用户的生理反应时间。目标是让用户按两次按钮,程序将记录按下按钮之间的时间间隔。这个程序可以通过第一次按下按钮来启动一个而
循环。在循环中,一个计数器将像上面那样开始,然后测量经过的时间。当第二次按下按钮时,可能会出现停止状态。通过这种方式,循环将计算两次按下按钮之间运行的时间,从而计算响应时间。
内容
While循环概述
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循环或do while循环。要创建自己的循环,需要使用for循环。
做While循环
如上所述以上,当程序最初进入while循环时,首先执行暂停条件。因此,这段代码将有以下输出(它是JavaScript的,因为Python没有do while循环):
1 2 |
|
然而,还有另一个类似的控制流命令,称为do while循环。属性处的do while循环将计算停止条件底while循环代码的。这意味着代码将在终止之前至少执行一次。
1 2 3 4 |
|
通常可以通过改变停止条件来绕过do while循环,但在某些语言中它仍然是一个选项。
While循环中的控制语句
有时需要提前中断或更改while循环的执行。每种语言都有自己的方式。在Python中,可以使用打破
声明。
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。维基百科While循环.2016年6月7日,从https://en.wikipedia.org/wiki/While_loop