提示:上一篇文章中详细的说明了while循环语句,本篇文章来说说Python中的for循环语句。

1、for循环语法

# 注:临时变量是程序员自定义的临时变量。
for 临时变量 in 序列:
重复执行的代码1
重复执行的代码2
......

for循环的代码块会执行多次,序列中有几个元素就会执行几次,

每执行一次就会将序列中的一个元素赋值给临时变量,

所以我们可以通过临时变量,来获取列表中的每个元素。

快速体验

"""
1. 准备一个数据序列
2. 进行for循环
"""
str1 = 'Hello Pyhton'
for i in str1:
print(i)

执行结果:

2、for循环中的breakcontinue

for循环中的breakcontinuewhile循环中的用法一样。

下面我们直接练习来说明。

(1)break说明

str1 = 'Hello Pyhton'
for i in str1:
if i == ' ': # 空格
print('遇到空格不打印')
break
print(i)

执行结果:

(2)continue说明

str1 = 'Hello Pyhton'
for i in str1:
if i == ' ': # 空格
print('遇到空格不打印')
continue
print(i)

执行结果:

3、循环+else结构

循环(while循环和for循环)可以和else配合使用,else下方缩进的代码指的是,当循环正常结束之后要执行的代码。

(1)while...else

1)描述:

需求:女朋友生气了,要惩罚:连续说5遍“媳妇儿,我错了”,如果道歉正常完毕女朋友就原谅我了,这个程序怎么写?

i = 1
while i <= 5:
print('媳妇儿,我错了')
i += 1
print('媳妇儿原谅我了...')

思考: 这个print语句是不是没有循环也能执行?

是的,能够执行。

但是这里想说的是,只有惩罚的循环正常结束了,才能说出原谅你了。如果你的惩罚没有正常结束,是不能够被原谅的。

所以像这种惩罚后被原谅,这两部分是有一种依赖关系的,这个时候就不能像上边这样写了,就需要使用while...else格式的循环语句来完成编码。

2)语法

while 条件表达式:
条件成立重复执行的代码
else:
循环正常结束之后要执行的代码

3)示例

"""
1. 书写道歉的循环。
2. 循环正常结束要执行的代码写在else中。
"""
i = 1
while i <= 5:
print('媳妇儿,我错了')
i += 1
else:
print('媳妇原谅我了,真开心,哈哈哈哈') """
输出结果:
媳妇儿,我错了
媳妇儿,我错了
媳妇儿,我错了
媳妇儿,我错了
媳妇儿,我错了
媳妇原谅我了,真开心,哈哈哈哈
"""

(2)while...else退出循环的方式

需求:女朋友生气,要求道歉5遍:媳妇儿,我错了。道歉到第三遍的时候,媳妇埋怨这一遍说的不真诚,是不是就是要退出循环了?这个退出有两种可能性:

  • 更生气,不打算原谅,也不需要道歉了,程序如何书写?
  • 只一遍不真诚,可以忍受,继续下一遍道歉,程序如何书写?

1)break方式

i = 1
while i <= 5:
if i == 3:
print('这遍说的不真诚,别说了!')
break
print('媳妇儿,我错了')
i += 1
else:
print('媳妇原谅我了,真开心,哈哈哈哈')

执行结果:

总结:所谓else指的是循环正常结束之后要执行的代码,即如果是break终止循环的情况(代表非正常情况),else下方缩进的代码将不执行。

2)continue方式

i = 1
while i <= 5:
if i == 3:
print('这遍说的不真诚,给我注意点!')
i += 1
continue
print('媳妇儿,我错了,')
i += 1
else:
print('媳妇原谅我了,真开心,哈哈哈哈')

执行结果:

总结:因为continue是退出当前一次循环,继续下一次循环,所以该循环在continue控制下是可以正常结束的,当循环结束后,则执行了else缩进的代码。

(3)for...else

while...else的用法一样的。

1) 语法

for 临时变量 in 序列:
重复执行的代码
...
else:
循环正常结束之后要执行的代码

所谓else指的是循环正常结束之后要执行的代码,即如果是break终止循环的情况,else下方缩进的代码将不执行。

2)示例

str1 = 'Python'
for i in str1:
print(i)
else:
print('循环正常结束之后执行的代码')

(4)for...else退出循环的方式

1)break终止循环

str1 = 'Python'
for i in str1:
if i == 'h':
print('遇到h不打印')
break
print(i)
else:
print('循环正常结束之后执行的代码')

执行结果:

没有执行else缩进的代码。

2)continue终止循环

str1 = 'Python'
for i in str1:
if i == 'h':
print('遇到h不打印')
continue
print(i)
else:
print('循环正常结束之后执行的代码')

执行结果:

因为continue是退出当前一次循环,继续下一次循环,所以该循环在continue控制下是可以正常结束的,当循环结束后,则执行了else缩进的代码。

『无为则无心』Python基础 — 15、Python流程控制语句(for循环语句)的更多相关文章

  1. 『无为则无心』Python基础 — 12、Python运算符详细介绍

    目录 1.表达式介绍 2.运算符 (1)运算符的分类 (2)算数运算符 (3)赋值运算符 (4)复合赋值运算符 (5)比较运算符 3.逻辑运算符 拓展1:数字之间的逻辑运算 拓展2:Python中逻辑 ...

  2. 『无为则无心』Python基础 — 14、Python流程控制语句(while循环语句)

    目录 1.什么是循环结构 2.while循环 (1)while循环的语法 (2)while循环的应用 3.while语句的死循环 4.break和continue 5.while循环嵌套 (1)应用场 ...

  3. 『无为则无心』Python基础 — 4、Python代码常用调试工具

    目录 1.Python的交互模式 2.IDLE工具使用说明 3.Sublime3工具的安装与配置 (1)Sublime3的安装 (2)Sublime3的配置 4.使用Sublime编写并调试Pytho ...

  4. 『无为则无心』Python基础 — 6、Python的注释

    目录 1.注释的作用 2.注释的分类 单行注释 多行注释 3.注释的注意事项 4.什么时候需要使用注释 5.总结 提示:完成了前面的准备工作,之后的文章开始介绍Python的基本语法了. Python ...

  5. 『无为则无心』Python基础 — 7、Python的变量

    目录 1.变量的定义 2.Python变量说明 3.Python中定义变量 (1)定义语法 (2)标识符定义规则 (3)内置关键字 (4)标识符命名习惯 4.使用变量 1.变量的定义 程序中,数据都是 ...

  6. 『无为则无心』Python基础 — 10、Python字符串的格式化输出

    目录 1.什么是格式化输出 2.Python格式化输出的五种方式 方式一:字符串之间用+号拼接 方式二:print()函数可同时输出多个字符串 方式三:占位符方式 方式四:f格式化方式(推荐) 方式五 ...

  7. 『无为则无心』Python基础 — 13、Python流程控制语句(条件语句)

    目录 1.流程控制基本概念 2.选择结构(条件语句) (1)条件语句概念 (2)if语句语法 (3)if...else...语句 (4)多重判断 (5)if语句嵌套 3.应用:猜拳游戏 4.三元运算符 ...

  8. 『无为则无心』Python序列 — 24、Python序列的推导式

    目录 1.列表推导式 (1)快速体验 (2)带if的列表推导式 (3)多个for循环实现列表推导式 2.字典推导式 (1)创建一个字典 (2)将两个列表合并为一个字典 (3)提取字典中目标数据 3.集 ...

  9. 『无为则无心』Python函数 — 29、Python变量和参数传递

    目录 1.Python的变量 (1)Python变量不能独立存在 (2)变量是内存中数据的引用 (3)注意点 2.了解变量的引用 3.Python的参数传递(重点) (1)示例 (2)结论 (3)总结 ...

随机推荐

  1. MSSQL·查看DB中所有表及列的相关信息

    阅文时长 | 0.6分钟 字数统计 | 1013.6字符 主要内容 | 1.引言&背景 2.声明与参考资料 『MSSQL·查看DB中所有表及列的相关信息』 编写人 | SCscHero 编写时 ...

  2. 深入探索Android热修复技术原理读书笔记 —— so库热修复技术

    热修复系列文章: 深入探索Android热修复技术原理读书笔记 -- 热修复技术介绍 深入探索Android热修复技术原理读书笔记 -- 代码热修复技术 深入探索Android热修复技术原理读书笔记 ...

  3. [OS] 操作系统课程(五)

    系统启动 启动过程 CPU加电稳定后从0XFFFF0读取第一条指令 BIOS 固化到计算机主板上的程序 包括系统设置.自检程序和系统自启动程序 系统加电后读BIOS 加电自检POST,内存.显卡等关键 ...

  4. canal 环境搭建 canal 与kafka通信(三)

    canal 占用了生产者 .net core端 使用消费者获取canal 消息 安装 Confluent.Kafka  demo使用 1.3.0 public static void Consumer ...

  5. 强哥PHP面向对象学习笔记

    面向对象编程OOP目标:重用性.灵活性.扩展性特点:封装.继承.多态 类的书写方法:class PersionName{} 特征:属性.其实就是变量行为:方法.其实就是函数 1.实例化对象2.对象中成 ...

  6. 大文件查找 du -ahx . | sort -rh | head -10

    # cd /root@test-W330-C30:/# du -ahx . | sort -rh | head -58.2G .5.6G ./usr3.3G ./usr/share1.9G ./usr ...

  7. linux中cat、more、less命令区别详解##less 最合适最好用,和vim一样好用

    linux中cat.more.less命令区别详解 caoxinyiyi关注 0.0362018.07.02 15:46:17字数 641阅读 516 linux中命令cat.more.less均可用 ...

  8. CAP 与数据一致性

    分布式系统的假设是,工作在网络环境下的系统拥有多个节点,而这些节点本身会由于各种原因而变得不稳定.这其中就有一个非常重要的概念--CAP原理.这个原理指导着大多数分布式系统的设计过程,CAP原理大致是 ...

  9. 在 Ubuntu 上安装 .NET SDK 或 .NET 运行时

    在wsl Ubuntu 20.04上面安装dotnet链接 https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-ubuntu Ubun ...

  10. 让ThreadPoolExecutor的workQueue占满时自动阻塞submit()方法

    public class BlockingSubmitExecutor { private ExecutorService executor = new ThreadPoolExecutor(2, 2 ...