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

    1.当某个类被加载,连接和初始化后,它的生命周期就开始了.当代表这个类的Class对象不再被引用,即不可触及时,Class对象就会结束生命周期,这个类在方法区内的数据也会被卸载,从而结束这个类的生命周 ...

  2. leetcode 11. Container With Most Water 、42. Trapping Rain Water 、238. Product of Array Except Self 、407. Trapping Rain Water II

    11. Container With Most Water https://www.cnblogs.com/grandyang/p/4455109.html 用双指针向中间滑动,较小的高度就作为当前情 ...

  3. 网站无法连接上,但能上QQ的解决办法

    一句话:修改DNS的IP地址 参考win10修改IP地址:https://jingyan.baidu.com/article/19192ad8eef0c9e53e570717.html 在网络上搜索合 ...

  4. 002-05-RestTemplate 使用常见问题-非200请求捕获

    一.概述 1.1.RestTemplate报错时时获取不到错误信息 捕获异常后 try { result = restTemplate.postForEntity(faceConfig.getApiU ...

  5. 品优购商城项目(三)安全框架SpringSecurity

    品优购商城项目第三阶段 1.springSecurity的基本用法与shiro类似. 2.BCrypt加密算法比MD5更加智能和安全,能自动加盐再加密,生成的密码是60位比md5的32位更占空间(可以 ...

  6. PHP IE9 AJAX success 返回 undefined 问题解决

    jquery的AJAX返回结果为undefined,并且有“由于出现错误c00ce56e”的错误提示.这个问题是由于IE9不能解析其他编码而产生的.解决这个问题之需要按照W3C规范,声明一下编码为ut ...

  7. 123457123456#0#----com.DoraGame.AiMiYu20--前拼后广--caimi-doraX

    com.DoraGame.AiMiYu20--前拼后广--caimi-doraX

  8. git 更新fork的远程仓库

    1.添加远程仓库到本地remote分支 git remote add upstream git@github.com:apache/flink.git # 远程仓库地址 2.查看当前仓库的远程分支 g ...

  9. Python - Django - ORM 自定义 char 类型字段

    用 CharField 定义的字段在数据库中存放为 verchar 类型 自定义 char 类型字段需要下面的代码: class FixedCharField(models.Field): " ...

  10. 【Leetcode_easy】976. Largest Perimeter Triangle

    problem 976. Largest Perimeter Triangle solution: class Solution { public: int largestPerimeter(vect ...