在生活中经常遇到循环的事情, 比如循环列表播放歌曲等. 在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. qt access 数据库

    #include <QCoreApplication> #include <QSqlDatabase> #include <QSqlQuery> #include ...

  2. k8s 配置文件 详解

    apiVersion: v1 # [必须]版本号kind: Pod # [必选]Podmetadata: # [必选-Object]元数据 name: String # [必选] Pod的名称 nam ...

  3. Unity3D地下守护神ARPG开发三部曲 视频教程+素材+源码

    通过大型教学项目“MMOARPG地下守护神”项目的学习,掌握常用设计模式.架构设计.各种重要算法与设计模式在项目中的灵活运用,学后达到中高级游戏研发人员水平,做主程必备. 适用人群    学习Unit ...

  4. Communications link failure due to underlying exception: ** BEGIN NESTED EXC

    一是将 wait_timeout=31536000 interactive_timeout=31536000 将过期时间修改为1年. 二是在连接URL上添加参数:&autoReconnect= ...

  5. Java_jdbc 基础笔记之二 数据库连接

    /** * DriverManager 类是驱动程序管理器类 * 1)可以通过重载的getConnection()方法获取数据库的连接,较为方便 * 2)可以同时管理多个驱动程序:若注册了多个数据库连 ...

  6. TP5.1框架最后登录时间不会更新

      最后登录时间:2019-5-1 14:44 发现系统管理员时间总是停留在这个时间,后来才发现原来是时间没有自动更新. 手册地址:https://www.kancloud.cn/manual/thi ...

  7. SSA与ASS字幕

    SSA字幕与ASS字幕 SSA全称SubStationAlpha,是由CSLow(又称Kotus)创建的一种字幕格式,用以实现比传统字幕诸如srt等格式更为复杂的功能.SSA目前的版本为v4.00.S ...

  8. nginx报警:nginx: [warn] could not build optimal server_names_hash, you should increase either server_names_hash_max_size: 512 or server_names_hash_bucket_size: 64; ignoring server_names_hash_bucket_size

    date: 2019-08-12   16:33:05 author: headsen chen notice :个人原创 告警现象:   解决办法:在http的部分添加hash缓冲值 测试:如下图, ...

  9. leetcode 290. Word Pattern 、lintcode 829. Word Pattern II

    290. Word Pattern istringstream 是将字符串变成字符串迭代器一样,将字符串流在依次拿出,比较好的是,它不会将空格作为流,这样就实现了字符串的空格切割. C++引入了ost ...

  10. ECMAScript 6.0基础入门教程

    ECMAScript 6.0基础入门教程 转:https://blog.csdn.net/hexinyu_1022/article/details/80778727 https://blog.csdn ...