if语句、while和for循环

一、if语句

1.多路分支
if 条件1:
	代码块1
elif 条件2:
	代码块2
else:
	代码块3
	
#python会执行第一次测试为真的语句,如果所有测试都为假,就执行else部分(本例)
2.三元表达式(短路运算)
x = y if a else z
# 只有条件a为真,才会执行x = y
#假设y是bool真值
x = (a and y) or z

二、while循环

1.break、continue、pass和else
  1. break跳出本层循环
  2. continue结束本次代码块的执行,跳到本层循环开头
  3. pass什么也不做,空的占位语句 (无限循环while True:pass)
  4. else 只有当循环正常离开才会执行(也就是说,不是由于break导致循环结束)

三、for循环

​ for循环首行定义了一个(或一些)赋值目标,以及想要遍历的对象,后面是要重复的语句。

赋值目标的变量名通常是for语句所在作用域的变量,它可以在循环主体中修改,但是当再次回到循环顶端时,会自动设成序列中的下一个元素。

for i in range(0,5):
	print(i)
	i = 3
执行结果:
0
1
2
3
4

​ for 语句也支持一个选用的else块,和while 一样:如果循环结束不是由于break导致的,就会执行else块。(即序列中所有元素都访问过了)

for <target> in <object>:
	<statments>
	if <test>:bresk
	if <test>:continue
else;
	<statments>
并行遍历:zip和map函数
L1=[1,2,3]
L2=[4,5,6]
for i,j in L1,L2:
	print(i,j)	
报错:
ValueError: too many values to unpack (expected 2)
# ---------------------------------------------------------------
for (i,j) in zip(L1,L2);
	print(i,j)
运行结果:	
1 4
2 5
3 6
# ---------------------------------------------------------------
for i in map(ord,'abc'):
    print(i)
运行结果:    
97
98
99
#map函数返回一个生成器对象
产生偏移和元素:enumerate
for i in enumerate('abc'):
	print(i)
运行结果:	
(0, 'a')
(1, 'b')
(2, 'c')
#enumerate函数也返回一个生成器对象
posted @ 2019-08-28 08:39  Sroxi  阅读(934)  评论(0编辑  收藏  举报