经过昨天的学习,相信大家已经对 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,下面是详细执行流程

分析下上面代码: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 while循环 - python基础入门(9)的更多相关文章

  1. Python for循环 - Python零基础入门教程

    目录 一.for 循环语法 二.for 循环实战 三.重点总结 四.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 在 Python ...

  2. python for循环 - python基础入门(11)

    在python开发中,除了前篇文章介绍的while循环还有一个for循环也经常使用,两者使用都是大同小异,for循环的使用相对于while循环更加灵活,下面我们一起来了解下具体区别. 一.for 循环 ...

  3. 【Python】Java程序员学习Python(三)— 基础入门

    一闪一闪亮晶晶,满天都是小星星,挂在天上放光明,好像许多小眼睛.不要问我为什么喜欢这首歌,我不会告诉你是因为有人用口琴吹给我听. 一.Python学习文档与资料 一般来说文档的资料总是最权威,最全面的 ...

  4. 函数:Python的乐高积木 - 零基础入门学习Python017

    函数:Python的乐高积木 让编程改变世界 Change the world by program 相信大家小时候应该都玩过神奇的乐高积木,只要通过想象和创意,我们可以用它拼凑出很多神奇的东西. 随 ...

  5. 闲聊之Python的数据类型 - 零基础入门学习Python005

    闲聊之Python的数据类型 让编程改变世界 Change the world by program Python的数据类型 闲聊之Python的数据类型所谓闲聊,goosip,就是屁大点事可以咱聊上 ...

  6. 图解python | for循环

    作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/56 本文地址:http://www.showmeai.tech/article-det ...

  7. 零基础入门学习Python(9)--了不起的分支和循环3

    前言 本节继续介绍分支和循环 知识点 while循环 Python while循环与if条件分支有点类似,在条件为真的情况下,执行某一段指定的代码.不同的是只要条件为True,while循环就会一直重 ...

  8. 零基础入门学习Python(8)--了不起的分支和循环2

    前言 上节课小甲鱼教大家如何正确的打飞机,其要点是判断和循环,判断就是该不该做某事,循环就是持续做某事 知识点 写一个程序 按照100分制,90分以上成绩为A,80到90为B,60到80为C,60以下 ...

  9. Python基础入门教程

    Python基础入门教程 Python基础教程 Python 简介 Python环境搭建 Python 基础语法 Python 变量类型 Python 运算符 Python 条件语句 Python 循 ...

随机推荐

  1. simcom7600ce-t LBS function

    Welcome to minicom 2.7 OPTIONS: I18n Compiled on Nov 15 2018, 20:20:38.Port /dev/ttyUSB2, 00:55:23 P ...

  2. 代码编辑器——Visual Studio Code

    一.介绍 Visual Studio Code(简称 VS Code / VSC) 是一款免费开源的现代化轻量级代码编辑器,支持几乎所有主流的开发语言的语法高亮.智能代码补全.自定义热键.括号匹配.代 ...

  3. P4514 上帝造题的七分钟——二维树状数组

    P4514 上帝造题的七分钟 求的是矩阵里所有数的和: 维护四个树状数组: #include<cstdio> #include<cstring> #include<alg ...

  4. python ros 警报上报

    #!/usr/bin/env python2. # -*- coding: utf- -*- import rospy import time from common_msgs.msg import ...

  5. CF1174C Ehab and a Special Coloring Problem(数论)

    做法 与\(x\)互质的数填不同的数,把有向关系表示出来,发现边数是不能承受的 反过来想,成倍数关系填相同的数,把这些数想象成一条链,而这条链开始的数一定是质数,\(\sum\limits_{prim ...

  6. Tkinter 之Frame标签

    一.参数说明 语法 作用 width 设置 Frame 的宽度默认值是 0 height 设置 Frame 的高度默认值是 0 background(bg) 设置 Frame 组件的背景颜色 bord ...

  7. "error":"bucket is protected"

    这个是我做图片上传的时候,后台返回了图片,把图片链接放到浏览器 其实是因为后台配置了,图片必须以 结尾.就是压缩的图,所以其他格式结尾的是不会显示的哈

  8. OpenJudge计算概论-数字求和

    /*========================================================= 数字求和 总时间限制: 1000ms 内存限制: 65536kB 描述 给定一个 ...

  9. appium-FAQ(持续更新...)

    Q1:未安装APP直接启用appium sever,初始化driver :driver = new AndroidDriver(new URL("http://127.0.0.1:4723/ ...

  10. C# [ThreadStatic] 标记静态字段对多线程执行的影响

    类的静态字段在类的实例中是共享的.多个线程修改实例字段的值在对其它线程来说是可见的,这也是clr默认的行为.对静态字段添加ThreadStaticAttribute标记可以改变这种默认的行为. Thr ...