while循环
在满足条件下会一直执行代码块,当然是可以设置循环终止条件的
语法结构
i = 0 # 循环初始值
while i < 5: # 循环条件
print(i) # 循环体
i+=1 # 循环终止条件
死循环
while True:
print(1)
结果会一直不停地打印 1
提问,以下代码会造成死循环吗?为什么?
a = 1
while a:
print(1)
跳出while循环 --- continue
- continue:会跳出本次循环
i = 1
while i < 10:
if i == 5:
continue
print(i)
# 结果会打印到 12346789
当我们的变量 i 的值为5的时候 通过if判断 i等于5 也就会执行第4行代码 就会跳出本次循环 不会运行下面的第5行代码了,所以就只会输出12346789
终止while循环 --- break
- break:会终止整个循环
i = 1
while True:
print(i)
if i == 10:
break
i+=1
# 结果会打印到 123456789
变量 i 的值首先为1,进入循环后,就会打印 i ,也就是打印1,程序然后来到了if判断,当然的 i 值为1,并不等于10,所以执行第6行代码,这时 i 值就等于2了,继续到了循环里面,继续打印 i 打印2,依旧不等于10,所以继续跳过,直到 i 值等于10了,那么就会终结整个循环,也就只会输出123456789
while,else一起使用
else执行的条件:只要循环没有被break终止,那么就会执行else里面的代码
i = 1
while i < 10:
if i == 5:
continue
print(i)
else:
print("我被执行了")
for循环(迭代循环)
遍历一个对象数组, 将数据逐一取出
list1 = [1, 2, 3, 4, 5]
for i in list1:
print(i)
- 迭代:输出的数据不依赖上一次的数据,就不是迭代
# 非迭代
i = 0
while i < 5:
print("非迭代")
i += 1
# 迭代
i = 0
while i < 5:
print(i)
i += 1
for 与 range 的结合使用
range :返回的是一个可迭代对象(类型是对象),左闭右开
for i in range(5):
print(i)
# 会输出 0 1 2 3 4
跳出for循环 --- continue
for i in range(1, 10):
if i == 5:
continue
print(i)
# 结果就会 输出 12346789
终止for循环 --- break
for i in range(1,10):
if i == 5:
break
print(i)
# 结果将会 输出 1234
for,else一起使用
else执行的条件:只要循环没有被break终止,那么就会执行else里面的代码
for i in range(1,10):
if i == 5:
continue
print(i)
else:
print("else被执行")