手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

Python while 循环语句使用详解

[日期:2020-02-22] 来源:Linux公社  作者:醉落红尘 [字体: ]

循环是编程语言的基本概念之一。当您希望多次重复特定的代码块,直到满足给定的条件时,循环非常方便。Python中有两个基本的循环构造,for和while循环。

本教程介绍了Python中while循环的基础。 我们还将向您展示如何使用else子句以及break和continue语句。

Python while循环

只要给定条件的值为true, while循环就会执行未知次数的语句。

Python while循环采用以下形式:

while EXPRESSION:
    STATEMENT(S)

while语句以while关键字开头,后跟条件表达式。

在执行语句之前先评估EXPRESSION。 如果条件评估为真,则执行STATEMENT(S)。 否则,如果条件评估为false,则循环终止,并将程序控制传递给后面的语句。

STATEMENT(S)块以缩进开始,以第一条未缩进的行结束。 大多数人选择使用4空格还是2空格缩进。 官方的Python代码样式指南建议每个缩进级别使用4个空格,并避免混合使用制表符和空格进行缩进。

让我们看下面的示例代码,只要它小于5,就递增并打印变量i的当前值:

>>> i=0
>>> while i < 5:
...    i += 1
...    print('number:', i)
...

只要i小于或等于5,Tue循环就会迭代。 它将产生以下输出:

number: 1
number: 2
number: 3
number: 4
number: 5

Python while 循环语句使用详解

Python支持标准的比较操作:

  • a == b - 如果a和b相等,则为true。
  • a != b - 如果a和b不相等,则为true。
  • a > b - 如果a大于b,则为true。
  • a >= b - 如果a等于或大于b,则为true。
  • a < b - 如果a小于b,则为true。
  • a <= b - 如果a等于或小于b,则为true。

要否定条件表达式,请使用逻辑not运算符:

>>> i=0
>>> while not i >= 5:
...    i += 1
...    print('number:', i)
...

number: 1
number: 2
number: 3
number: 4
number: 5

Python while 循环语句使用详解

break和continue语句

break和continue语句使您可以控制while循环的执行。

break语句终止当前循环,并将程序控制权传递给终止循环之后的语句。 最常见的情况是在满足特定条件时使用break终止循环。

在下面的示例中,一旦当前迭代项等于2,则循环的执行将中断。

>>> i=0
>>> while i < 5:
...    i += 1
...    if i == 2:
...        break
...    print('number:', i)
...

输出:

number: 1

Python while 循环语句使用详解

Continue语句退出循环的当前迭代,并将程序控制传递给循环的下一个迭代。

在下面的代码中,一旦当前迭代的项目等于2,则continue语句将使执行返回到循环的开头并继续下一次迭代。

>>> i=0
>>> while i < 5:
...    i += 1
...    if i == 2:
...        continue
...    print('number:', i)
...

输出:

number: 1
number: 3
number: 4
number: 5

Python while 循环语句使用详解

else子句

与其他语言不同,在Python中,while循环具有可选的else子句:

while EXPRESSION:
    STATEMENT(S)
else:
    STATEMENT(S)

仅当EXPRESSION的计算结果为false时,才会执行else子句中的语句。 如果引发异常,或者循环以break语句终止,则将不会执行该异常。

这是一个例子:

>>> i=0
>>> while i < 5:
...    i += 1
...    print('number:', i)
... else:
...    print('Loop completed.')
...

输出:

number: 1
number: 2
number: 3
number: 4
number: 5
Loop completed.

Python while 循环语句使用详解

现在看看加入break语句后的:

>>> i=0
>>> while i < 5:
...    i += 1
...    if i == 2:
...        break
...    print('number:', i)
... else:
...    print('Loop completed.')
...

else子句中的语句不执行,因为表达式的值没有为false:

number: 1

带while循环的else子句不经常使用。 一种常见的情况是,当您希望从循环中中断时,如果循环继续运行直到条件评估为false,则可以执行某些语句或函数。

无限 while 循环

无限循环是无限重复的循环,直到程序终止才终止。 如果条件始终为真,则将出现无限循环。

无限循环通常用于使程序等待某些外部事件的发生。 通常,在Python中,使用while True创建无限循环:除了True,您还可以使用始终返回true的任何其他表达式。

这是一个无限while循环的示例,该循环将继续提示您输入“Yes”:

>>> while True:
...    i = input('Please enter \'Yes\': ')
...    if i.strip() == 'Yes':
...        break
...

上面的while循环将一直运行,直到您输入“Yes”:

Please enter 'Yes': 3
Please enter 'Yes': 1
Please enter 'Yes': linuxmi
Please enter 'Yes': linuxmi.com
Please enter 'Yes': www.linuxmi.com
Please enter 'Yes': Yes

终止无限循环的另一种方法是按CTRL + C。

编写无限循环时,请确保使用break语句在某个时刻退出循环。

总结

只要给定条件的值为true,while循环就会重复执行其语句。

如果您有任何疑问或反馈,请随时发表评论。

更多Python相关信息见Python 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=17

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2020-02/162415.htm

linux
相关资讯       Python循环  Python while循环  while循环 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款