9.Python while循环

最后更新于:2020-03-21 11:57:33

经过昨天的学习,相信大家已经对python的条件判断表达式if/else有一定的了解了,那么我们今天配合昨天的课程讲解一个新概念 – while循环

都说程序源于生活,假如有这样一个场景:老师要求算出1~100之间所有数字的累计求和(杠精说:5050,我百度一下就知道)。

深藏不露

那换个数字,你给我算出1~9977之间所有的数字累计求和,你再去百度试一试?

杠精:给我等着,兜里掏出计算器,啪啪啪,一顿狂按…..5050+100+101+102+103…

如何实现

 

一.while循环语法:

while 判断条件:
    执行语句……

二.while循环示例:

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:何以解忧
@Blog(个人博客地址): shuopython.com
@WeChat Official Account(微信公众号):猿说python
@Github:www.github.com
 
@File:while循环.py
@Time:2019/9/19 21:22

@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
"""

a = 1
while a < 10: # 当 a >= 10 时,条件不成立
    print(a)
    a += 2  # 等价 a = a + 2

输出:1 3 5 7 9,下面是详细执行流程

whil循环

分析下上面代码:while 之后是条件表达式,如果为真,会继续执行while内的代码,执行完所有while内的代码又重新回到第二行,检查 a < 10 是否成立,当a <10 条件不成立时,跳出while循环,由于循环之外没有任何代码,直接退出程序。

看完上面代码,我们来一起完成文章开始的问题,1~9977之间所有的数字累计求和,代码如下:

a = 1
sum = 0
while a < 9977: 
    # 当a >= 9977 时条件不成立,跳出循环,
    # a 的值每次加1,如果要 >= 9977 ,意味着要循环 9977 次
    # print(a)
    a += 1   # 等价 a = a + 1,a的值每次累计加 1 
    sum += a # 等价 sum = sum + a

print("while循环一共执行了 %d 次" % a)  # a 的值每次加1 ,
print("1~99777之间所有的数字累计求和的结果是:{}".format(sum))

输出结果:

while循环一共执行了 9977 次
1~9977之间所有的数字累计求和的结果是:49775252

 

三.while死循环

文章看到这里,可能有些小伙伴就有想法了,要是我条件始终成立,始终为True呢~

笑容

恭喜你,程序卡死了,退不出来了,比如下面代码:

while True:
    print("程序啥时候结束就啥时候去吃饭")

输出结果:

程序啥时候结束就啥时候去吃饭
程序啥时候结束就啥时候去吃饭
程序啥时候结束就啥时候去吃饭
程序啥时候结束就啥时候去吃饭
程序啥时候结束就啥时候去吃饭
.........(无限循环,直到海枯石烂,直到天荒地老,直到你秃顶)

饿死了

如何解决上面死循环问题,我们留到下一篇文章继续讲解,传送门:python教程 – 关于循环中使用break/continue

 

四.重点总结

while循环是python开发中必不可少的,其实使用也比较简单,需要牢牢掌握。

 

猜你喜欢:

1.python运算符

2.关于循环中使用break/continue

 

转载请注明猿说Python » python while

 

技术交流、商务合作请直接联系博主
扫码或搜索:猿说python
python教程公众号
猿说python
微信公众号 扫一扫关注
赞赏

微信赞赏支付宝赞赏