目录
零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门
都说程序源于生活,假如有这样一个场景:老师要求算出 1~100 之间所有数字的累计求和(杠精说:5050,我百度一下就知道)。
那换个数字,你给我算出 1~9977 之间所有的数字累计求和,你再去百度试一试?
杠精:给我等着,兜里掏出计算器,啪啪啪,一顿狂按…… 5050 + 100 + 101 + 102 + 103 …
经过昨天的学习,相信大家已经对 Python 条件判断表达式 if / else 有一定的了解了,那么我们今天配合昨天的课程讲解一个新概念 –** while 循环** 。
while 判断条件: 执行语句……
# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:猿说编程 @Blog(个人博客地址): www.codersrc.com @File:python while循环.py @Time:2021/3/19 00:37 @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 是否成立;
看完上面代码,我们来一起完成文章开始的问题,1~9977 之间所有的数字累计求和,代码如下:
# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:猿说编程 @Blog(个人博客地址): www.codersrc.com @File:python while循环.py @Time:2021/3/19 00:37 @Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累! """ 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 '''
文章看到这里,可能有些小伙伴就有想法了,要是我条件始终成立,始终为**True** 呢~
恭喜你,程序卡死了,退不出来了,比如下面代码:
# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:猿说编程 @Blog(个人博客地址): www.codersrc.com @File:python while循环.py @Time:2021/3/19 00:37 @Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累! """ while True: print("程序啥时候结束就啥时候去吃饭") ''' 输出结果: 程序啥时候结束就啥时候去吃饭 程序啥时候结束就啥时候去吃饭 程序啥时候结束就啥时候去吃饭 程序啥时候结束就啥时候去吃饭 程序啥时候结束就啥时候去吃饭 ......... ......... ......... .........(无限循环,直到海枯石烂,直到天荒地老,直到你秃顶) '''
如何避免上面 while 死循环问题呢?需要依赖我们前面讲解和即将讲解的内容:
while 循环是 Python 开发中必不可少的,其实使用也比较简单,需要牢牢掌握。
未经允许不得转载:猿说编程 » Python while 循环