循环是所有现代编程语言中的一个有用且经常使用的功能。
如果你想自动完成一项特定的重复性任务,或防止自己在程序中编写重复性代码,使用循环是最好的选择。
循环是一组重复运行的指令,直到满足一个条件。让我们了解更多关于Python中循环的工作原理。
Python 中的循环
有两种类型的循环内置于 Python 中:
for循环while循环
让我们集中讨论如何在Python中创建一个while 循环以及它是如何工作的。
什么是Python中的while循环?
Python中的while 循环的一般语法是这样的:
while condition:
execute this code in the loop's body
一个 while 循环将在一个条件为 True 时运行一段代码。它将一直执行所需的代码语句集,直到该条件不再为真。
while 循环在运行前总是首先检查条件。
如果条件评估为True ,那么该循环将运行循环体中的代码。
例如,只要number 小于10 ,这个循环就会运行:
number = 0
while number < 10:
print(f"Number is {number}!")
number = number + 1
输出:
Number is 0!
Number is 1!
Number is 2!
Number is 3!
Number is 4!
Number is 5!
Number is 6!
Number is 7!
Number is 8!
Number is 9!
这里,变量number 最初被设置为0 。
在运行任何代码之前,Python 检查条件 (number < 10)。它的值为 True,所以打印语句被执行,Number is 0! 被打印到控制台。
number 然后用 来递增。条件被重新评估,它再次为真,所以整个过程重复进行,直到 等于 。1 number 9
这一次,Number is 9! 被打印出来,number 被递增,但是现在number 等于10 ,所以条件不再被满足,因此循环被终止了。
如果不满足条件,while 循环有可能永远不会运行,就像本例中一样:
number = 50
while number < 10 :
print(f"Number is {number}!")
因为条件总是假的,所以循环主体中的指令就不会执行。
不要创建无限循环
正如你从上面的例子中看到的,while 循环通常伴随着一个变量,其值在整个循环的持续时间内会发生变化。而它最终决定了循环的结束时间。
如果你不添加这一行,你将创建一个无限的循环。
number 将不会被递增和更新。它将永远被设置并保持在 ,因此条件 将永远是 "真"。这意味着该循环将一直循环下去。0 number < 10
# don't run this
number = 0
while number < 10:
print(f"Number is {number}!")
输出:
Number is 0!
Number is 0!
Number is 0!
Number is 0!
Number is 0!
Number is 0!
Number is 0!
...
它无限地运行。
这和做这个是一样的:
#don't run this
while True:
print("I am always true")
如果你发现自己处于这样的情况下怎么办?
按Control C ,逃脱并结束循环。
什么是do while循环?
在其他编程语言中,do while 循环的一般语法看起来是这样的:
do {
loop block statement to be executed;
}
while(condition);
例如,C语言中的do while循环是这样的:
#include <stdio.h>
int main(void)
{
int i = 10;
do {
printf("the value of i: %i\n", i);
i++;
}
while( i < 20 );
}
Do while 循环的独特之处在于,循环块中的代码将至少被执行一次。
语句中的代码运行一次,然后在代码执行完后才检查条件。
因此,代码先运行一次,然后检查条件。
如果检查的条件评估为真,则循环继续。
在有些情况下,你会希望你的代码至少运行一次,这就是do while循环的用武之地。
例如,当你写一个接受用户输入的程序时,你可能只要求输入一个正数。该代码将至少运行一次。如果用户提交的数字是负数,循环将继续运行。如果是正数,它将停止。
Python没有内置的功能来像其他语言那样明确地创建一个do while 循环。但是在Python中模拟一个do while 循环是可能的。
如何在 Python 中模拟 do while 循环
为了在Python中创建一个do while 循环,你需要对while 循环进行一些修改,以便获得与其他语言中的do while 循环类似的行为。
作为到目前为止的复习,一个do while 循环将至少运行一次。如果条件得到满足,那么它将再次运行。
另一方面,while 循环不会至少运行一次,事实上可能永远不会运行。它只在条件满足时运行。
所以,假设我们有一个例子,我们希望一行代码至少运行一次:
secret_word = "python"
counter = 0
while True:
word = input("Enter the secret word: ").lower()
counter = counter + 1
if word == secret_word:
break
if word != secret_word and counter > 7:
break
该代码将至少运行一次,要求用户输入。
它总是被保证至少运行一次,True ,否则会产生一个无限循环。
如果用户输入了正确的密语,循环就会终止。
如果用户输入错误的密语超过7次,那么循环将被完全退出。
break 语句允许你控制while 循环的流程,而不是以无限循环告终。
break 将立即把当前的循环全部终止,并脱离它。
所以这就是你如何在Python中创建类似于do while 循环的效果。
循环总是至少执行一次。如果一个条件没有得到满足,它将继续循环,然后在条件得到满足时终止。
总结
你现在知道如何在Python中创建一个do while 循环。
如果你有兴趣学习更多关于Python的知识,你可以在freeCodeCamp的YouTube频道上观看12个Python项目视频。你可以建立12个项目,而且是面向初学者的。
freeCodeCamp也有一个免费的Python认证,以帮助你很好地理解和全面了解该语言的重要基础知识。
在课程结束时,你还可以建立五个项目来实践你所学到的知识。
谢谢你的阅读,祝你学习愉快!