在生活中经常遇到循环的事情, 比如循环列表播放歌曲等. 在Python中, 也有循环, 就是其流程控制语句while.

1. 基本循环

while 条件:
循环体 # 如果条件为真, 那么就执行循环体
# 如果条件为假, 那么就不执行循环体.

举个例子:

while True:
print('你不要担心')
print('青春')
print('有一天')

上面的代码有一个问题就是: 没有停止的时候. 只要电脑不死机, 就会一直循环下去. 那么具体的它是怎么执行的呢? 看下面这张图.

那么应该如何终止循环呢?

2. 终止循环

2.1 改变条件

第一种终止循环的方式就是改变条件.

利用标志位改变条件

flag = True
while flag:
print('你不要担心')
print('青春')
flag = False
print('有一天')

2.2 关键字break

在循环中, 只要遇到 break 马上退出循环.

flag = True
while flag:
print('你不要担心')
print('青春')
break
print('有一天')

2.3 调用系统命令

quit(), exit(), 后面会讲到, 在这里不再讲解, 不推荐使用.

2.4 关键字continue (终止本次循环)

continue 用于终止本次循环, 然后继续下一次的循环.

flag = True
while flag:
print('你不要担心')
print('青春')
continue
print('有一天')

2. while ... else ...

while 后面的 else 的作用是: 当while循环正常执行完, 中间没有被 break 终止的话, 就会执行else后面的语句; 如果被break终止, 则不会执行else后面的语句.

count = 0
while count < 5:
count += 1
print(count)
else:
print('循环正常执行完, 没有被break打断.')

如果执行过程中被break终止, 就不会执行else后面的语句

count = 0
while count < 5:
count += 1
if count == 3:
break
print(count)
else:
print('这里的循环不会执行.')

练习

练习1 利用while输出1-100所有的数字

count = 1
while count < 101:
print(count)
count += 1

练习2 使用while循环求出1-100所有数的和

sum = 0
count = 1
while count < 101:
sum += count
count += 1
print(sum)

练习3 打印1-100所有的偶数

count = 1
while count < 101:
if count % 2 == 0:
print(count)
count += 1

练习4 使用while循环打印 1 2 3 4 5 6 8 9 10

count = 0
while count < 10:
count += 1
if count == 7:
continue
print(count)

练习5 请输出 1 2 3 4 5 95 96 97 98 99 100

count = 0
while count < 100:
count += 1
if 5 < count < 95:
continue
print(count)

『Python基础』第6节:流程控制之while循环的更多相关文章

  1. 『Python基础』第4节:基础数据类型初识

    本节只是对基础数据类型做个简单介绍, 详情会在之后慢慢介绍 什么是数据类型? 我们人类可以分清数字与字符串的区别, 可是计算机不能. 虽然计算机很强大, 但在某种程度上又很傻, 除非你明确告诉它数字与 ...

  2. 『Python基础』第2节: Python简介及入门

    一. Python介绍 Python是一门高级计算机程序设计语言,1989年,荷兰的Guido von Rossum创造了它.Guido是是一个牛人,1982年,他从阿姆斯特丹大学获得了数学和计算机硕 ...

  3. 『Python基础』第39节 函数的返回值

    1. 函数的返回值 ​ 一个函数就是封装一个功能, 这个功能一般都会有一个最终结果的. ​ 比如写一个登录的函数, 最终登录是否成功你总得告诉我一声吧? ​ 还有咱们之前也用过 len() 这个函数, ...

  4. 『Python基础』第7节:基本运算符

    一. 基本运算符 运算按种类可以分为: 算数运算.比较运算.逻辑运算.赋值运算.成员运算.身份运算.位运算. 今天我们只学习算数运算.比较运算.逻辑运算.赋值运算.成员运算 1.1 算数运算 以下假设 ...

  5. 『Python基础』第20节:深浅copy

    一. 赋值运算 l1 = [1, 2, 'conan', [11, 22]] l2 = l1 l1[0] = 111 print(l1) # [111, 2, 'conan', [11, 22]] p ...

  6. 『Python基础』第8节:格式化输出

    现在有一个需求, 询问用户的姓名, 年龄, 工作, 爱好, 然后打印成以下格式 ************ info of Conan ************ name: Conan age: 23 ...

  7. 『Python基础』第5节:条件控制

    if 语句的使用 单分支 if 条件: 满足条件后要执行的代码 例如: if 2 < 3: print(222) print(333) 每个条件后面都要使用冒号 :, 表示接下来是满足条件后要执 ...

  8. 『Python基础』第1节 Windows环境下安装Python3.x

    一. Python安装 1. 下载安装包 https://www.python.org/downloads/release/python-374/ # 3.7安装包 # 如需安装python2.7版本 ...

  9. Python基础之用户交互、流程控制、循环语句

    python的简洁性真的令人叹为观止,没有JAVA那种输入还要导个包,不学不知道,一学吓一跳啊! 我在学这些基础的时候,会把python和java.c做对比,这样更好的理解记忆! 用户交互(输入) i ...

随机推荐

  1. 【转】JVM类装载机制的解析,热更新的探讨

    引言 如有错误,请批评指正. Java是一种动态连接的语言.所谓动态连接,大概可以这么解释. 首先,Java可以大概想象成是编译解释执行的.对于一个*.java的文件,通过javac将会编译成一个*. ...

  2. C平衡二叉树(AVL)创建和删除

    AVL是最先发明的自平衡二叉查找树算法.在AVL中任何节点的两个儿子子树的高度最大差别为一,所以它也被称为高度平衡树,n个结点的AVL树最大深度约1.44log2n.查找.插入和删除在平均和最坏情况下 ...

  3. NGINX实现咏南跨平台中间件集群

    NGINX实现咏南跨平台中间件集群 首先要开启咏南LINUX中间件. 1)编辑usr/local/nginx/conf/nginx.conf #user  nobody;worker_processe ...

  4. element-ui表格显示html格式

    <el-table-column type="String" label="内容" prop="tpl" width="58 ...

  5. Debian9安装QT5.12.3

    打开虚拟机,打开火狐浏览器,输入网址下载QT5.12(linux版本,约13.G) download.qt.io/archive/qt/5.12/5.12.0/ 文件默认下载在Downloads文件夹 ...

  6. Tomcat 8.5.x RedisSessionManager show:Caused by: java.lang.NoSuchMethodError: com.crimsonhexagon.rsm.

    Caused by: java.lang.NoSuchMethodError: com.crimsonhexagon.rsm.RedisSessionManager.getMaxInactiveInt ...

  7. Python3基础 print 格式化输出 %% 输出%

             Python : 3.7.3          OS : Ubuntu 18.04.2 LTS         IDE : pycharm-community-2019.1.3    ...

  8. SpringCloud学习成长之十四 服务注册(consul)

    这篇文章主要介绍 spring cloud consul 组件,它是一个提供服务发现和配置的工具.consul具有分布式.高可用.高扩展性. 一.consul 简介 consul 具有以下性质: 服务 ...

  9. (一)IDEA修改HTML不生效(未热部署)

    一.问题 IDEA 版本:2018.1.2 项目类型:SpringBoot 描述 : 修改JSP文件内容时,不会热部署,需要每次都重启项目才生效. 二.解决方案 加入Springboot开发者工具,即 ...

  10. 【prometheus 抓取源】

    配置prometheus从prometheus爬取数据 prometheus提供了下面这个端口来让其他prometheus来抓取(scrape)自己的时序数据: http://prometheus_i ...