python的流程语句(if、while和for)

  与其他编程语言一样,python也有流程语句,只有三种:if分支、while循环、for循环(注意:python没有switch-case分支)。下面,依次介绍每种流程语句,并在最后 区别while和for循环的区别。

一:if分支

  if语句分支的含义因为大家基本上都了解,就不再再次多说。

  区别于其他语言的if的多重判断: 

  1、python需要使用if-elif-else结构(而不是if-elseif-else)

  具体例子如下:

>>> if True:
...    print("true")
... elif  2:
...    print("2")
... else:
...    print("else")
...
true  

  2、python的if-else的配对(if和else的缩进格数相同则相互匹配)

>>> if 2:
...     print(2)
...     if 1:
...        print("1")
... else:
...     print("else")
...
2
1

  从上面的代码中,可以发现else是与第一个if相互匹配的,而在C语言中不是这样(在C语言中,else总是与前面的最近的未匹配的if进行匹配---即最近未匹配原则),这点一定要注意(在python中,当if和else的缩进格数相同,则相互匹配)。

二:while循环

  python中只有while循环,而没有do...while循环,且while循环还可以有else语句(即while-else结构)。

  区别于其他语言的while语句:

  1、while有else语句(当while语句的条件变为false时,就会执行else语句)

>>> n=0
>>> while n<5:
...   print("执行循环")
...   n=n+1
...   print(n)
... else:
...   print("else被执行")
...
执行循环
1
执行循环
2
执行循环
3
执行循环
4
执行循环
5
else被执行

  2、break语句(若执行了break语句,就会跳出while循环,并且不会执行else语句)

else被执行
>>> n=0
>>> while n<5:
...   print("执行循环")
...   n=n+1
...   print(n)
...   if n==3:
...     print("if被执行")
...     break
... else:
...   print("else被执行")
...
执行循环
1
执行循环
2
执行循环
3
if被执行

  3、continue语句(跳出当前循环,continue后的语句不再执行,进入下次循环)

>>> n=0
>>> while n<5:
...   print("执行循环")
...   n=n+1
...   if n==3:
...     print("if被执行")
...     continue
...   print(n)
... else:
...   print("else被执行")
...
执行循环
1
执行循环
2
执行循环
if被执行
执行循环
4
执行循环
5
else被执行

三:for循环

  在前面的学习中,曾经仔细讨论过for in迭代的问题。for循环迭代的必须是可迭代对象(即对象拥有__iter__()方法)。当for in在执行的过程中,会自动调用可迭代对象的__iter__()方法返回一个迭代器,每循环一次都会调用迭代器的__next__()方法,返回可迭代对象的一个元素,直到最后返回一个异常

   for循环序列(String、列表、元组):因为序列是有顺序的,所以可以按照索引找到对应的元素。

   在for循环中使用索引(迭代时具有索引信息)的三种方法:

    1、range(start,stop[,step])方法:range()方法用来产生一个从start开始,元素之间隔step,一直到stop结束(但不包含stop)的列表。

>>> x="string"
>>> for y in range(len(x)):
...     print(x[y])
...
s
t
r
i
n
g

    2、zip()方法:将可迭代对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。--方法会返回zip对象(是一个可迭代对象)。

>>> s=["a","b","c","d"]
>>> for x,y in zip(range(len(s)),s):
...     print(x,y)
...
0 a
1 b
2 c
3 d

    3、enumerate()方法:将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。--返回enumerate对象(是一个可迭代对象)。

>>> s=["a","b","c","d"]
>>> for x,y in enumerate(s,1):
...    print(x,y)
...
1 a
2 b
3 c
4 d

    for循环字典:字典是无序的,必须按照键名才能找到对应的元素。

>>> x={1:2,2:3,3:4,4:5}
>>> for y in x:
...   print(y)
...
1
2
3
4
>>> for y in x.items():
...    print(y)
...
(1, 2)
(2, 3)
(3, 4)
(4, 5)
>>> for y in x.keys():
...    print(y)
...
1
2
3
4





    







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值