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函数也返回一个生成器对象

猜你喜欢

转载自www.cnblogs.com/notfind/p/11421833.html
今日推荐