提示:上一篇文章中详细的说明了
while
循环语句,本篇文章来说说Python中的for
循环语句。
1、for
循环语法
# 注:临时变量是程序员自定义的临时变量。
for 临时变量 in 序列:
重复执行的代码1
重复执行的代码2
......
for
循环的代码块会执行多次,序列中有几个元素就会执行几次,
每执行一次就会将序列中的一个元素赋值给临时变量,
所以我们可以通过临时变量,来获取列表中的每个元素。
快速体验:
"""
1. 准备一个数据序列
2. 进行for循环
"""
str1 = 'Hello Pyhton'
for i in str1:
print(i)
执行结果:
2、for
循环中的break
和continue
for
循环中的break
和continue
和while
循环中的用法一样。
下面我们直接练习来说明。
(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('媳妇儿原谅我了...')
思考: 这个
是的,能够执行。
但是这里想说的是,只有惩罚的循环正常结束了,才能说出原谅你了。如果你的惩罚没有正常结束,是不能够被原谅的。
所以像这种惩罚后被原谅,这两部分是有一种依赖关系的,这个时候就不能像上边这样写了,就需要使用
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
缩进的代码。