循环就是把一段代码不断的重复运行,直到达到某个条件
while循环
'''
和if语句很相似
while 条件测试:
代码块
不同的是if在条件成立的时候会执行一遍代码块
而while在条件成立时会不断重复执行,直到条件不成立
'''
# 例如可以使用while循环来数数
num = 1
while num <= 5:
print(num)
num += 1
'''
当num不大于5时会一直执行while循环
每次执行都会给num的值加1
直到num大于5
这时已经输出了1到5
循环结束
'''
for循环
可以使用for循环遍历一个序列
遍历:把序列里面的每一个元素都访问一遍
'''
for 变量 in 序列:
代码块
'''
# 例如遍历一个列表
list1 = ['a', 'b', 'c', 'd']
for i in list1:
print(i)
'''
会分别拿到列表里面的每一个元素并存在变量i中
然后分别将他们打印出来
'''
# for循环也可以使用range()函数
for i in range(5):
print(i)
# 会得到0到4的数字
break和continue
break语句可以直接退出整个循环,不再运行后续代码
如果有一个程序需要一直运行下去,直到用户想要退出,或者说有一个程序,要求其中很多不同的事件都可以结束程序,那么此时比较方便的方法就是
'''
像下面这样写一个死循环
然后在需要的时候使用break语句退出循环
'''
while True:
if 要满足的条件:
break
# 这里面可以有很多个if,就是说可以有很多退出循环的条件
continue语句可以退出本次循环,重新回到循环开头,进入下一次循环
# 比如一个打印1到10中偶数的循环
num = 0
while num <= 10:
num += 1
if num % 2 == 1:
continue
print(num)
break和continue可以理解为考试做题,假设一共十个题,做到第五个时候时间到收卷了,那么此时就是break,终止了考试
如果做到第五个时候不会了,那么此时就是continue,跳过第五题,直接去做第六题,但是考试还在进行中
循环中同样可以继续嵌套循环
列表生成式
列表生成式可以在列表里面写for循环和if语句,是一种很灵活的创建列表的方式
'''
先遍历了range(10)
将遍历的值分别存到变量i中
再将i分别添加到列表中
就这样成功创建了list1
'''
list1 = [i for i in range(10)]
print(list1) # 这是结果[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
'''
放在for循环左边的并不是只能是变量本身
同时可以对它进行操作
比如想要创建一个1到5的平方的列表
'''
list2 = [i*i for i in range(1,6)]
# 同样会分别把i*i添加到list2中
'''
列表生成式中可以有if判断
放在for循环的后面
比如想创建一个1到10的偶数的列表
'''
list3 = [i for i in range(1,11) if i % 2 == 0]
print(list3) # 会得到[2, 4, 6, 8, 10]