Python while循环终止与控制结构详解

创始人
2024-12-29 09:29:17
0 次浏览
0 评论

python中,当一个while循环判断为false,结束这个循环的时候

在Python中,理解while循环的控制结构对于编写高效的代码至关重要。
当while循环被判断为False时,如何正确终止循环并继续下一步?本文将详细讲解while、continue、break和whileelse循环的使用,帮助您解答这个问题。
**1.while循环**while循环的基本结构是:首先判断条件是否为真,如果为真,则执行循环体中的代码,否则忽略循环体,进入循环体以下代码行。
当不再满足循环条件时,循环结束。
**示例:**pythona=0whilea<5 print(a)a+=1输出结果为:01234**问题:while判断为false并终止循环后如何开始执行下一个循环?**当判断while为假时,会直接跳过循环,执行循环后面的代码。>**示例:**pythona=5whilea<10 print(a)a+=1else:print(>在while循环中,当不再满足循环条件时,先执行else代码块,然后退出循环。
**示例:**pythoni=0whilei<5 i)i+=1else:print(>**示例:**pythonnumbers=[1,2,3,4,5]fornumberinnumbers:ifnumber%2==0:continueprint(number)输出结果为:135**问题:确定while后如何结束循环为false,然后开始执行以下循环?**这可以使用if语句与Continue结合来实现。
**示例:**pythoni=5whilei<10 xss=clean continueprint(i)i+=1输出结果为:5689**4.Break**Break语句用于立即退出循环,执行循环后的代码。>**示例:**pythonnumbers=[1,2,3,4,5]fornumberinnumbers:ifnumber==3:breakprint(number)输出结果为:12综上所述,了解while循环的控制逻辑,包括如何使用它,Continue和Break控制循环的流程,是Python编程中的一项重要技能。
通过上面的例子,您可以灵活地使用这些控制结构来实现更高效的循环逻辑。

Python实现循环的最快方式(for、while等速度对比)

众所周知,Python并不是一种高效的语言。
此外,在任何语言中循环都是非常耗时的操作。
如果任何一个简单的操作步骤需要1个单位的时间,如果这个操作重复100万次,最终花费的时间也会增加100万次。

在Python中实现while和循环有两种常见方法。
例如以下测试代码:

importtimeitdefwhile_loop(n=100_000_000):i=0s=0whileiwhileloop4.718853999860585#=>forloop3.211570399813354

这是一个简单的求和运算,将1到1之间的所有自然数相加不。
您可以看到乐队的速度比实际快了1.5秒。

两者的主要区别在于不同的机制。

在每个循环中,while执行的步骤比实际多了两个步骤:检查限制并递增变量i。
即每次执行循环时,限制检查(dumi两个轨道都是用纯Python代码编写的。

该站点不需要检查边界和执行增量操作,也不需要添加ExpressPython代码(使得Python代码的效率低于C代码)。
当循环次数足够多时,效率就会出现显着差距。

您可以添加两个函数来标记溢出限制并在pro循环中自动递增计数器:

importtimeitdefwhile_loop(n=100_000_000):i=0s=0whileiwhileloop4.718853999860585#=>forloop3.211570399813354#=>forloopwithincrement4.602369500091299#=>forloopwithtest4.18337869993411

可以看到,增加的限制检查和自增操作影响很大for循环的执行效率。

前面说过,Python是在解释器下,功能是用C语言实现的。
C语言的执行效率比Python高很多。

对于前面提到的求序列算术和的操作,借助Python内置的sum函数,可以获得执行效率,远高于for或while循环。

importtimeitdefwhile_loop(n=100_000_000):i=0s=0whileiwhileloop4.718853999860585#=>forloop3.211570399813354#=>sumrange0.8658821999561042

可以看出,用于存储循环的函数中的sum函数之后,代码的执行是有效的。
重复的

累加函数内置的求和运算实际上是一个循环,只不过是用C语言实现的,循环中的求和运算是由纯Python代码s+=i执行的。
C>Python。

再次思考一下。
小时候,大家都听过高斯的童年故事,他巧妙地计算了1到100的和。
1...100之和等于(1+100)*50。
这种计算方法也可以应用于前述的求和运算。

importtimeitdefwhile_loop(n=100_000_000):i=0s=0whileiwhileloop4.718853999860585#=>forloop3.211570399813354#=>sumrange0.8658821999561042#=>mathsum2.40018274784088e-06

最终的数学执行时间约为2.4e-6,减少了一百万倍。
这里的想法是,当循环效率很高时,代码必须执行数亿次。

干脆不循环,用数学公式把亿万次循环操作变成一步。
每一件都是以前做过的,所以后面都是跟着的。

最终结论(有点谜语):

实现循环的最快方法-----不是循环

在Python中,使用尽可能使用内函数是为了将纯Python代码减少为循环。

当然,在某些情况下内置函数并不是最快的。
例如,创建列表时,逐个字母的速度更快。

python的while和for有什么区别?

Python中的for循环和while循环都是用来实现代码块重复执行的结构。
for循环通常用于迭代序列(例如列表、元组或字符串),而while循环用于在满足特定条件时重复执行代码块。
1.For循环语法结构:pythonforvariableinsequence:#执行的代码块这里,“variable”是一个临时变量,用于存储每次迭代中序列的当前元素。
“序列”可以是列表、元组、字符串或其他可迭代对象。
for循环将依次删除序列中的每个元素,将其分配给变量,然后执行代码块。
当遍历完序列中的所有元素后,循环结束。
例如,以下是使用for循环迭代列表的简单示例:pythonfruits=['apple','banana','cherry']forfruitinfruits:print(fruit)此代码将依次返回:applebananacherry2。
while循环的语法结构:pythonthinkcondition:#执行的代码块这里,“condition”是一个布尔表达式。
当条件为真时,代码块将被执行。
每次执行代码块时都会重新评估条件。
如果条件仍然为真,则再次执行代码块。
这个过程将重复,直到条件变为False,此时循环结束。
例如,以下是使用while循环计算从1到10的总和的简单示例:pythonsum=0i=1thinki<=10:sum+=ii+=1print(sum)此代码将返回:yaml55在此示例中,我们使用一个附加变量i来控制循环。
最初,i的值为1。
每次迭代时,我们将i添加到总和中,并将i加1。
当i的值超过10时,条件变为False,循环结束。
热门文章
1
JSF架构解析与Java学习资源分享:J... JavaServerFacesJSF体系结构JavaServerFaces(JS...

2
数据结构C语言版深度解析与C语言入门很简... 《数据结构(C语言版)》.严蔚敏吴伟民著.pdf在《数据结构(C语言版)》一书中...

3
C语言字符串常量解析:区别、用途及存储方... 什么是字符串常量字符串常量是C语言中的一种数据类型,它是由一对双引号括起来的字符...

4
C语言printf函数:格式字符串与输出... printf函数中的格式与输出项有什么关系?在C语言中,printf函数中的格式...

5
Excel技巧:计算字符串起始位置与合并... 如何计算字符串在特定文本中的起始位置,怎么计算字符串在特定文本中的起始位置您可以...

6
Python发音全解:掌握正确的发音方法... python怎么读我的很多学习编程的朋友可能都知道Python这个词,但是他们中...

7
字符与字符串:编程中的基础文本类型解析 字符串什么意思字符串是由数字、字母和下划线组成的字符串,表示为s=“a1a2…a...

8
Python编程语言:多领域应用与开发优... Python的作用是什么?Python是一种跨平台计算机编程语言,是ABC语言的...

9
深度解析:C语言编程特点与应用领域 什么叫c语言C语言是一种编程语言。C编程语言应用广泛,具有以下特点和特点:1.语...

10
Java全解析:跨平台编程语言的魅力与多... java是什么Java是一种功能强大的编程语言,被称为“一次编写,随处运行”模型...