功能介绍

代码的整个执行过程我们可以认为是一个flow,就是一种流,从开始流到最后,但是在实际的过程中,就比如下面的例子,我们可能会根据不同的情况,做出不用的反应(分支),让流的运动轨迹发生变化,如果价格是10元的话,肯定是打印一下太贵了,买两斤,而其他的情况语句肯定是不会打印的,控制流,从字面意思我们也能看出来,就是控制数据流的流向,Python里的控制流包括if else(elif)和while。
当然,除了if else和while,我们还要再讲一下for循环。

使用说明

参考如下

  1. #if 实例
  2. apple_price = 10
  3. if apple_price<5: #如果满足这个条件,那么执行,否则继续向下"流动"
  4. print('我要买十斤')
  5. elif apple_price<8:
  6. print('太贵了,买两斤')
  7. elif apple_price <15:
  8. print('太贵了,不吃')
  9. else:
  10. print('再见')
  11. #while实例
  12. age = 1
  13. while age<18: #如果一直满足,那么一直执行
  14. print('还是未成年的孩子'+str(age))
  15. age+=1 #age = age+1
  16. #for 循环
  17. for a in range(6):
  18. print(a) #依次打印0 1 2 3 4 5
  19. #以下为for循环的变体
  20. for a in range(1,6):#指定初始值和结束值,其中范围为[起始值,结束值)
  21. print(a) #依次打印1 2 3 4 5
  22. for a in range(1,6,2): #指定step步数,即每次递增为step步(此处为2步)
  23. print(a) #依次打印1 3 5
  24. #倒序循环,我们会有这样的需求,需要从6到0的遍历,将step步数设置为负数,实现递减的操作
  25. for a in range(6,-1,-1): #由于范围为[起始值,结束值),那么要打印6 5 4 3 2 1 0 ,就需要结束值指定为-1
  26. print(a)
  27. #当然了,以上的for循环,全部是和range搭档出现的,for的用处远不止于此,在Python中for循环遍历的是任何可迭代对象的返回值
  28. novels = ['红楼梦','西游记','三国演义','水浒传']
  29. for novel in novels:
  30. print(novel)

其他

利用for循环遍历列表、修改或选中某个元素,新建列表或字典,这些都是十分常见的用法,这是的循环往往如下所示:

  1. x = [1,2,3,4]
  2. x_square = []
  3. for i in x:
  4. x_square.append(i*i)
  5. print(x_square) #[1, 4, 9, 16]

以上用法太过普通了,因此Python为这种操作提供了特殊的快捷写法。称为推导式。
列表推导式:new_list = [expression1 for variable in old_list if expression2]
字典推导式:new_dict = {expression1:expression2 for variable in list if expression3}
那么我们参考以上列表推导式,可以将以上代码重新编写

  1. x = [1,2,3,4]
  2. x_square = [i*i for i in x]
  3. print(x_square) #[1, 4, 9, 16]

练习题

  • 超市里的西瓜是5元一斤,然后我现在卡里只有36元,用while循环表达式来输出,我能够买多少个西瓜
  • 我计划排一个锻炼表,根据当前日期判断,如果是周一的话,我的活动是打篮球,如果是周二的话,我的活动是打乒乓球,如果是周三的话,我的活动是游泳,其他时候都是跑步(使用if语句)