Python流程控制
与其他语言一样,python语言中流程控制的关键字也是if、while 、for这些的使用。
if -else if-elif
操作符 | 描述 |
---|---|
< | 小于 |
<= | 小于或等于 |
> | 大于 |
>= | 大于或等于 |
== | 等于,比较对象是否相等 |
!= | 不等于 |
if 语句顺序执行,执行到哪里有结果,后续的同组的if语言不在执行。、
while 循环
#!/usr/bin/env python3
n = 100
sum = 0
counter = 1
while counter <= n:
sum = sum + counter
counter += 1
print("Sum of 1 until %d: %d" % (n,sum))
Sum` `of ``1` `until ``100``: ``5050
for 循环
for循环的一般格式如下:
for` `<variable> ``in` `<sequence>:`` ``<statements>``else``:`` ``<statements>
Python loop循环实例:
>>> languages ``=` `[``"C"``, ``"C++"``, ``"Perl"``, ``"Python"``] ``>>> ``for` `x ``in` `languages:``... ``print``(x)``... ``C``C``+``+``Perl``Python``>>>
以下实例for实例中使用了 break语句,break语句用于跳出当前循环体:
#!/usr/bin/env python3
edibles ``=` `[``"ham"``, ``"spam"``,``"eggs"``,``"nuts"``]
for` `food ``in` `edibles:
``if` `food ``=``=` `"spam"``:
``print``(``"No more spam please!"``)
``break
``print``(``"Great, delicious "` `+` `food)
else``:
``print``(``"I am so glad: No spam!"``)
print``(``"Finally, I finished stuffing myself"``)
range( )函数
如果你需要遍历数字序列,可以使用内置range()函数。它会生成数列,例如:
>>> ``for` `i ``in` `range``(``5``):``... ``print``(i)``...``0``1``2``3``4
你也可以使用range指定区间的值:
>>> ``for` `i ``in` `range``(``5``,``9``) :`` ``print``(i)` ` ` `5``6``7``8``>>>
也可以使range以指定数字开始并指定不同的增量(甚至可以是负数;有时这也叫做’步长’):
>>> ``for` `i ``in` `range``(``0``, ``10``, ``3``) :`` ``print``(i)` ` ` `0``3``6``9``>>>
负数:
>>> ``for` `i ``in` `range``(``-``10``, ``-``100``, ``-``30``) :`` ``print``(i)` ` ` `-``10``-``40``-``70``>>>
您可以结合range()和len()函数以遍历一个序列的索引,如下所示:
>>> a ``=` `[``'Mary'``, ``'had'``, ``'a'``, ``'little'``, ``'lamb'``]``>>> ``for` `i ``in` `range``(``len``(a)):``... ``print``(i, a[i])``...``0` `Mary``1` `had``2` `a``3` `little``4` `lamb
还可以使用range()函数来创建一个列表:
>>> ``list``(``range``(``5``))``[``0``, ``1``, ``2``, ``3``, ``4``]``>>>
break和continue语句及循环中的else语句
break语句可以跳出for和while的循环体。如果你从for或while循环中终止,任何对应的循环else块将不执行。
continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
循环语句可以有else子句;它在穷尽列表(以for循环)或条件变为假(以while循环)循环终止时被执行,但循环被break终止时不执行.如下查寻质数的循环例子:
>>> ``for` `n ``in` `range``(``2``, ``10``):
... ``for` `x ``in` `range``(``2``, n):
... ``if` `n ``%` `x ``=``=` `0``:
... ``print``(n, ``'equals'``, x, ``'*'``, n``/``/``x)
... ``break
... ``else``:
... ``# 循环中没有找到元素
... ``print``(n, ``'is a prime number'``)
...
2` `is` `a prime number
3` `is` `a prime number
4` `equals ``2` `*` `2
5` `is` `a prime number
6` `equals ``2` `*` `3
7` `is` `a prime number
8` `equals ``2` `*` `4
9` `equals ``3` `*` `3
pass语句
pass语句什么都不做。它只在语法上需要一条语句但程序不需要任何操作时使用.例如:
>>> ``while` `True``:``... ``pass` `# 等待键盘中断 (Ctrl+C)
学习小结
这部分内容过的比较快,主要是和java语言规则大同小异。