我们在编程中经常会要求程序完成一些重复的工作,比如一句话重复输出:
print('Python is very good')
print('Python is very good')
print('Python is very good')
print('Python is very good')
print('Python is very good')
这时使用循环语句就可轻松完成这些任务:
i = 0
while i < 5
print('Python is very good')
i += 1
'''*********************************'''
for i in range(5):
print('Python is very good')
while 和 for 虽然可以完成相同的任务,但是两者的思维导图有一些区别:
while :
while '条件语句':
缩进代码块
思维导图:
while 循环需要先判断条件表达式是否成立,条件表达式成立时执行循环体内部的程序,不成立时跳出循环。
for:
for '关键字' in '可迭代对象':
缩进代码块
for 循环每一次进行循环,都会从可迭代对象中按照顺序选取一个元素,赋给 '关键字' 。(关键字是一个变量,严格遵循变量命名格式)
可迭代对象可以是列表,元组,集合(注意集合的无序性),字典,range()。
range(5) # 这里表示取 0,1,2,3,4
range(1,5) # 这里表示取 1,2,3,4
range(5,1,-1) # 这里表示取 5,4,3,2
前闭后开,这里与字符串分割类似
'range()'里面的值只能是int型
***************************************
dict1 = {'a':1,'b':2,'c':3}
for i in dict1:
print(i)
'这里的 i 被赋值的是字典的键'
for i, j in dict1.items():v
print(i, j)
'这里的i, j分别被赋值字典的键和值'
思维导图:
for 比 while 更适合可迭代对象
break、continue:
break 可以提前结束循环,当执行的语句为 break 时,直接跳出循环,不再继续执行。
continue 可以提前结束单次循环,当执行的语句为 continue 时,本次循环结束,程序直接返回到开头的条件语句
如果把循环比作圆形跑道,break 就是离开这个跑道,不再回来;continue 就是瞬移到跑道起点,直接完成这一圈,但实际上后面路程没有跑,也就是说 continue 后面的程序不会被执行。
else:
while ,for都可以使用else,作用是循环结束时,再执行一次else下面的程序。(因为break结束的循环不会执行else的缩进代码块)
不过很少在循环后面用else