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)
View Code
names = ['egon', 'kevin', 'alex', 'hulaoshi']
for name in names:
    if name == 'alex':
        continue
    print(name)
View Code

3for...else

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

 

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()
打印99乘法表

 

posted on 2018-11-22 17:03  飞花飘絮  阅读(147)  评论(0编辑  收藏  举报