零基础学习 Python之while 循环语句

写在之前

大家好,这里是零基础学习 Python 系列,在这里我将从最基本的Python 写起,然后再慢慢涉及到高阶以及具体应用方面。我是完全自学的 Python,所以很是明白自学对于一个人的考验,所以在这里我会尽我最大的努力,把 Python 尽可能简单的表述清楚,让更多想要学习 Python 的朋友能够入门。同时写这个教程也算是对自己之前所学知识的一个巩固和提高,喜欢的朋友们可以点个关注,有问题欢迎随时和我交流。本文所有的代码编写均是Python3 版本。

使用 while 进行循环

while 是 Python 中最简单的循环机制,翻译成中文是 “当…的时候”,这个条件成立在一段范围或时间间隔内,从而在这段时间间隔内让 Python 做好多事情。我们用个例子来演示一下:

>>>cnt =1

>>>whilecnt

...print(cnt)

...cnt +=1

...

1

2

3

4

5

上面的例子执行的是从 1 打印到 5 的简单循环。首先是将变量 cnt 的值赋为 1, while 循环比较 cnt 的值和 5 的大小关系,如果 cnt 小于等于 5 的话继续执行。在循环的内部打印 cnt 的值,然后使用 cnt += 1 对 cnt 进行自增操作,返回到循环的开始位置,继续比较 cnt 和 5 的大小关系。现在 cnt 变量的值为 2,因此 while 循环内部的代码会被再次执行,cnt 的值会变为 3,在 cnt 从 5 自增到 6 之前一直进行,然后下次判断时, cnt 小于等于 5 的条件不满足,while 循环结束,Python 跳到循环下面的代码。

使用 break 跳出循环

如果你想让循环在某一条件下停止,但是不确定在哪次循环跳出,可以在无限循环中声明 break 语句,其含义就是要在这个地方终端循环,跳出循环体。下面用个例子简要说明一下:

>>>a =6

>>>whilea:

...ifa %2==:

...break

...else:

...print("{} is odd number".format(a))

...a -=1

...

>>>print("{} is even number".format(a))

a = 6 的时候,执行循环体中的 break,跳出循环,执行最后的打印语句,得到结果:

6isevennumber

如果 a = 7 则要执行 else 里面的 print() ,然后 a -= 1,即 a = a - 1 = 6,循环就又再执行一次,又 break 了,得到结果:

7isoddnumber

6isevennumber

使用 continue 跳到循环开始

有时候我们不想结束整个循环,仅仅想跳到下一轮循环的开始,这时候就轮到 continue 善良登场了。continue 是从当前位置跳到循环体的最后一行的后面,并不执行最后一行。请看下面的例子:

>>>a =7

>>>whilea:

...ifa %2==:

...a -=1

...continue

...else:

...print("{} is odd number".format(a))

...a -=1

...

上面的例子,如果是偶数,就返回循环的开始;如果是奇数,就打印出来。

7isoddnumber

5isoddnumber

3isoddnumber

1isoddnumber

其实,无论是 break 还是 continue,能少用尽量少用,尽量将条件什么的在循环之前就做好,不要在循环里跳来跳去的,这样不仅代码的可读性变差,有时候自己也容易蒙圈。

while...else

如果 while 循环没有使用 break 跳出,即 while 循环正常结束,程序将进入到可选的 else 段。while...else 有点类似于 if...else,这里需要知道的是一遇到 else,就意味着已经不在 while 循环内。请看下面的例子:

>>>cnt =

>>>whilecnt

...print(cnt,' is less than 3')

...cnt +=1

...else:

...print(cnt,' is not less than 3')

...

上述代码的执行结果如下:

isless than3

1isless than3

2isless than3

3isnotless than3

是不是看了例子觉得很容易呢?循环的东西就这么多,至于它的大用处我会在之后的文章中写,敬请期待。

写在最后

最后感谢你能看到这里,希望我写的东西能够让你有到收获,但是我还是希望我在文章里插入的代码,你们能自己动手试一下,都很简单。原创不易,每一个字,每一个标点都是自己手敲的,所以希望大家能多给点支持,该关注关注,该点赞点赞,该转发转发,有什么问题欢迎在后台联系我,也可以在公众号找到我的微信加我。

The end。

还不快快关注一波。。

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20180724A0A3AF00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券