1 迭代式循环:for,语法如下
for i in range(10):
缩进的代码块
2 break与continue(同while)

names = ['egon', 'kevin', 'alex', 'hu'] for name in names: if name == 'hu': break print(name)

names = ['egon', 'kevin', 'alex', 'hulaoshi'] for name in names: if name == 'alex': continue print(name)
3for...else

names = ['egon', 'kevin', 'alex', 'hu'] for name in names: if name == 'alex': break print(name) else: print('=====>')
4 循环嵌套
举例:
l = ['a', 'b', 'c'] for item in l: # item='a' print(item)
for i in range(3): #i=2
for j in range(2): #j=1
print(i,j) #2,1
重点:跟while循环相比
while循环:称之为条件循环,循环的次数取决于条件何时为False
for循环:称之为...循环,循环的次数取决于数据的包含的元素的个数
for循环专门用来取值,在循环取值方面比while循环要强大,以后但凡
遇到循环取值的场景,就应该用for循环
dic = {'x': 111, 'y': 222, 'z': 333} for k in dic: # k='x' print(k)#输出的是字典中的key
dic = {'x': 111, 'y': 222, 'z': 333} for k in dic: # k='x' print(k, dic[k])#输出的是key value
两个经典代码:

#分析 ''' #max_level=5 * #current_level=1,空格数=4,*号数=1 *** #current_level=2,空格数=3,*号数=3 ***** #current_level=3,空格数=2,*号数=5 ******* #current_level=4,空格数=1,*号数=7 ********* #current_level=5,空格数=0,*号数=9 #数学表达式 空格数=max_level-current_level *号数=2*current_level-1 ''' #实现 max_level=5 for current_level in range(1,max_level+1): for i in range(max_level-current_level): print(' ',end='') #在一行中连续打印多个空格 for j in range(2*current_level-1): print('*',end='') #在一行中连续打印多个空格 print()

for i in range(1,10): for j in range(1,i+1): print('%s*%s=%s' %(i,j,i*j),end=' ') print()