Day 04 流程控制
1. if判断:
1.if...else...:
if 条件判断: # 条件判断 True 或者 False 语句1 # 代码块。缩进,4个空格 语句2 语句3 else: # 不能单独使用。必须和if while for 一起使用 语句1 语句2 语句3
如:
a = 1 b = 2 if a > b: # 不成立,为False,不进入代码块 print(a) else: # 成立,为True, 执行内部程序 print(b) # 2
2. if...elif...else 多个条件判断时
if 条件1: 语句1 语句1 elif 条件2: # 可以有多个elif 判断语句,根据条件数量定 语句1 语句2 else: 语句1 语句2 # 同一级别无论有多少个条件只会执行一个条件判断为真里面的语句,程序由上至下执行
如:
a = 1 b = 2 if a - b < 0: # 成立,为True,进入代码块执行 print(a) # 1 elif a - b == 1: # 虽然成立,但由于只执行一个条件判断为真里面的语句,程序由上至下执行,所以不进入代码块 print(0) else: # 不成立,为False, 不进入代码块 print(b) # 2
2. while 循环
1:while格式:
while 条件判断: # 如果判断条件满足为True则进入while里的语句,不满足则跳出循环 语句1 语句2
如:
a = 1 while a <= 10: print(a) a += 1 # 每次加1,当a = 11时则不满足条件,跳出循环
2: continue: 跳出此次循环,进行下次判断循环
a = 0 while a < 10: a += 1 # 每次加1,当a = 10时则不满足条件,跳出循环 if a == 4: continue # 当a == 4时,直接跳出此次循环,重新走进循环判断条件,所以不执行此次print语句, print(a)
3: break: 终止循环
a = 0 while 1: # 所有非空,非0 数据类型都对应的时True,也就是恒等于True.死循环 print(a) a += 1 if a == 10: break # 当a == 10,执行break, 终止循环
PS:continue与 break 都是只对与他同一等级的循环体生效
4:while...else... 当循环被break终止时不会执行else下面的语句,若程序正常跳出循环则会执行
a = 0 while a < 10: print(a, end=' ') a += 1 if a == 4: break # break 打断。走else语句 else: print("非正常中断循环") # 0 1 2 3
a = 0 while a < 10: print(a, end=' ') a += 1 else: # 循环没有被break 打断,正常终止,执行else语句 结果为:0 1 2 3 4 5 6 7 8 9 非正常中断循环 print("非正常中断循环")
3 . for
1.for 循环格式:
for 变量名 in 容器类型: 语句1 语句2 语句3
如:
list1 = [1, 2, 3, 4] for i in list1: print(i)
2:len()方法 : 获取容器类型的长度(元素的个数),字典是获取键值对的个数,字符串是获取字符串中字符的个数
list1 = [1, 2, 3, 4] dict1 = { 'name': 'yanglingyao', 'age': 18, 'hobby': ['sleep', 'play'] } str1 = 'ni2u9_1%k' print(len(list1)) # 4 print(len(dict1)) # 3 print(len(str1)) # 9
3:range() 方法: range函数是一个迭代器,可以节省内存空间,顾头不顾尾
在python2.x版本中 range 函数会直接生成一个列表,占用内存空间大
xrange() 与python3中的range()函数是一样的