01Python基础_05控制流

  1. if, else, elif

  2. while

 1 # 猜年龄,3次机会
 2 
 3 _age = 25
 4 count = 1
 5 
 6 while True:
 7     print('count:', count)
 8     age = int(input('input age: '))
 9     if age == _age:
10         print('Right!!!')
11         break
12     elif age > _age:
13         print('Think smaller')
14     else:
15         print('Think bigger')
16     count += 1
17     if count > 3:
18         print('Idiot!!!')
19         break

  while else

 1 while count <= 3:
 2     print('count:', count)
 3     age = int(input('input age: '))
 4     if age == _age:
 5         print('Right!!!')
 6         break
 7     elif age > _age:
 8         print('Think smaller')
 9     else:
10         print('Think bigger')
11     count += 1
12 else:                               #如果while条件不成立执行此处
13     print('Idiot!!!')

  3. for

 1 for count in range(3):
 2     print('count:', count + 1)
 3     age = int(input('input age: '))
 4     if age == _age:
 5         print('Right!!!')
 6         break
 7     elif age > _age:
 8         print('Think smaller')
 9     else:
10         print('Think bigger')
11     count += 1
12 else:                               #如果while条件不成立执行此处
13     print('Idiot!!!')

  注:

  当循环正常结束时,循环条件不满足, else 被执行;

  当循环被 break 结束时,循环条件仍然满足, else 不执行。

1 values = [7, 6, 4, 7, 19, 2, 1]
2 for x in values:
3     if x <= 10:
4         print 'Found:', x
5         break
6 else:
7     print 'All values greater than 10'

  out:Found: 7

  4. break, continue

  break:跳出当前循环

  continue:跳过循环中的余下步,进行下次循环

  5. 列表推导式

  1. 常规列表生成方式

values = [10, 21, 4, 7, 12]
squares = []
for x in values:
    squares.append(x**2)
print squares

out:[100, 441, 16, 49, 144]

  2.列表推导式

values = [10, 21, 4, 7, 12]
squares = [x**2 for x in values]    #列表推导式
squares = [x**2 for x in values if x <= 10]    #带条件
square_set = {x**2 for x in values if x <= 10}    #生成集合
square_dict = {x: x**2 for x in values if x <= 10}    #生成字典

 

posted @ 2017-11-21 16:28  Zhang_Yide  阅读(179)  评论(0编辑  收藏  举报