通过昨天的学习,相信你们已经对python的条件判断表达式if/else有必定的了解了,那么咱们今天配合昨天的课程讲解一个新概念 – while循环 。python
都说程序源于生活,假若有这样一个场景:老师要求算出1~100之间全部数字的累计求和(杠精说:5050,我百度一下就知道)。git
那换个数字,你给我算出1~9977之间全部的数字累计求和,你再去百度试一试?github
杠精:给我等着,兜里掏出计算器,papapa,一顿狂按…..5050+100+101+102+103…微信
1ide 2学习 |
while 判断条件:spa 执行语句……code |
1orm 2blog 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# !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,下面是详细执行流程
分析下上面代码:while 以后是条件表达式,若是为真,会继续执行while内的代码,执行完全部while内的代码又从新回到第二行,检查 a < 10 是否成立,当a <10 条件不成立时,跳出while循环,因为循环以外没有任何代码,直接退出程序。
看完上面代码,咱们来一块儿完成文章开始的问题,1~9977之间全部的数字累计求和,代码以下:
1 2 3 4 5 6 7 8 9 10 11 |
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)) |
输出结果:
1 2 |
while循环一共执行了 9977 次 1~9977之间全部的数字累计求和的结果是:49775252 |
文章看到这里,可能有些小伙伴就有想法了,要是我条件始终成立,始终为True呢~
恭喜你,程序卡死了,退不出来了,好比下面代码:
1 2 |
while True: print("程序啥时候结束就啥时候去吃饭") |
输出结果:
1 2 3 4 5 6 |
程序啥时候结束就啥时候去吃饭 程序啥时候结束就啥时候去吃饭 程序啥时候结束就啥时候去吃饭 程序啥时候结束就啥时候去吃饭 程序啥时候结束就啥时候去吃饭 .........(无限循环,直到海枯石烂,直到天荒地老,直到你秃顶) |
如何解决上面死循环问题,咱们留到下一篇文章继续讲解,传送门:python教程 – 关于循环中使用break/continue
while循环是python开发中必不可少的,其实使用也比较简单,须要紧紧掌握。
1.python运算符
2.关于循环中使用break/continue
转载请注明:猿说Python » python while