经过昨天的学习,相信大家已经对 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. P3038 [USACO11DEC]牧草种植Grass Planting

    题目描述 Farmer John has N barren pastures (2 <= N <= 100,000) connected by N-1 bidirectional road ...

  2. 爬虫(六):Selenium库使用

    一:Selenium简介 selenium 是一套完整的web应用程序测试系统,包含了测试的录制(selenium IDE),编写及运行(Selenium Remote Control)和测试的并行处 ...

  3. getchar 和EOF

    本文章基于:http://www.cnblogs.com/QLinux/articles/2465329.html,稍作了修改. 大师级经典的著作,要字斟句酌的去读,去理解.以前在看K&R的T ...

  4. syniverse是一家怎样的公司

    syniverse是一家怎样的公司?(详见问题描述)? 李超   核心业务当然是国际漫游了.简单来说就是做全球各个运营商之间的hub. 打个比方说,一家运营商A做通信,它的覆盖范围肯定是有限的(比如中 ...

  5. imu 返回的数据

    Cheader: seq: 423038 stamp: secs: 1562058492 nsecs: 992359716 frame_id: imuorientation: x: 0.0026971 ...

  6. Hadoop界的Hello World!

    Hadoop界的Hello World! 2019-05-20  19:50:09 应用平台:Eclipse+ubantu+hadoop包 注:例分析的形式给宝宝们解释一下,详细运行过程省略. 实例: ...

  7. 解析复杂的嵌套数据结构-jsonpath

    JsonPath是一种简单的方法来提取给定JSON文档的部分内容. JsonPath有许多编程语言,如Javascript,Python和PHP,Java. JsonPath提供的json解析非常强大 ...

  8. fcntl 函数

    设置文件的flags,阻塞设置成非阻塞,非阻塞设置成阻塞(这连个在server开发中可以封装为基本函数) 线程引入 pthread_self 和 pthread_equal 原因 ——解决不同平台的问 ...

  9. linux物理内存与虚拟内存

    http://www.360doc.com/content/14/0123/14/14450281_347336709.shtml 1.查看内存占用情况 $ free -m -h total used ...

  10. java内存空间简述

    JVM的内存空间: 1. 寄存器 (Registers):最快的保存区域,位于处理器内部,由编译器分配.主要作用是记录当前线程所执行的字节码的行号.字节码解释器工作时就是通过改变当前线程的程序计数器选 ...