1. if...elif...else:

语法:

if 判断条件:

语句...

elif 判断条件:

语句...

else:

语句...

#elif语句可以有0个或多个

2. while和for循环:

while 判断条件:

语句...

for iterating_var in sequence:

statements(s)

可以在while循环体中嵌套for循环;也可以for循环中嵌套while循环。

3. for...else:for正常结束都会执行else

for...else:for正常结束(不执行break结束)都会执行else;若执行break,则不执行else

>>> for i in range(3):

...     print i

... else:

...     print "no break happens!"

...

0

1

2

no break happens!

>>> for i in range(5):

...     print i

...     break

... else:

...     print "no break happend"

...

0

4. while...else:while正常结束执行else

while...else:while正常结束(不执行break结束)都会执行else;若执行break,则不执行else

>>> n=2

>>> while n>1:

...     print n

...     n-=1

... else:

...     print "no break happend"

...

2

no break happend

>>> n=2

>>> while n>0:

...     print n

...     n-=1

...     break

... else:

...     print "no break happend"

...

2

(1) False:空、0、None、False

>>> bool([])

False

>>> bool(0)

False

>>> bool(None)

False

(2). True:1、True

>>> bool(1)

True

>>> bool(True)

True

>>> bool("s")

True

>>>

5. break、continue:

break:结束循环(彻底结束)

continue:结束本次循环,继续下一次循环

>>> for i in range(10):

...     if i % 2 ==0:

...         continue

...     print i

...

>>> for i in range(10):

...     if i%2==0:

...         break

...     print i

...

6. 遍历:

(1) 通过元素遍历

(2). 通过索引遍历

len():统计长度

>>> len("abc")

3

>>> len({1:2})  #统计字典长度

1

>>>

例1: for和while遍历字符串

>>> s="abcd"

>>> for i in range(len(s)):

...     print s[i]

...

>>> s

'abcd'

>>> i=0

>>> while i<len(s):

...     print s[i]

...     i+=1

...

例2: 遍历列表中的元组:

#coding=utf-8

a=[1,(12,3),(4,5),90]

for i in a:

if isinstance(i,(tuple,list)):

for j in i:

print j

else:

print i

7. for、while嵌套循环:

嵌套循环:在一个循环体里嵌入另一个循环

可以在while循环体中嵌套for循环;也可以for循环中嵌套while循环。

for iterating_var in sequence:

for iterating_var in sequence:

statements(s)

statements(s)

8. 直接退出多重循环:

(1). return退出多重循环:

#coding=utf-8

def test():

for i in range(5):

for j in range(5):

for k in range(5):

if i == j == k == 3:

return

else:

print i, '----', j, '----', k

test()

(2). 异常:

class getoutofloop(Exception):pass  #异常

try:

for i in range(5):

for j in range(5):

for k in range(5):

if i == j == k == 3:

raise getoutofloop()

else:

print i,'----',j,'----',k

except getoutofloop:

pass

print "done"

(3). break:(多个break)

#coding=utf-8

for i in range(5):

for j in range(5):

for k in range(5):

if i == j == k == 3:

break

else:

print i,'----',j,'----',k

else:continue

break

else:continue

break

python控制流的更多相关文章

  1. python控制流 If-else

        控制流 If-else 我们处理现实生活中的问题时会做出决定,就像决定买哪种相机或者怎样更好的打篮球.同样我们写计算机程序的时候也要做相同的事情.我们通过 if-else 语句来做决定,我们使 ...

  2. Python 控制流、列表生成式

    Python的三种控制流.认识分支结构if.认识循环结构while.认识循环结构for.Break语句.Continue语句.

  3. 了解Python控制流语句——continue 语句

    continue 语句用以告诉 Python 跳过当前循环块中的剩余语句,并继续该循环的下一次迭代. 案例(保存为 continue.py): while True: s = input('Enter ...

  4. 了解Python控制流语句——if语句

    控制流 截止到现在,在我们所看过的程序中,总是有一系列语句从上到下精确排列,并交由 Python 忠实地执行.如果你想改变这一工作流程,应该怎么做?就像这样的情况:你需要程序作出一些决定,并依据不同的 ...

  5. python控制流 -- if、for、while、range()、sys.exit()

    1.布尔值 “布尔”数据类型只有两种:True和False    #首字母以T或F开头,后面小写,且不能作为变量赋值 2.比较操作符 == 等于 != 不等于 <  小于 >  大于 &l ...

  6. Python 控制流代码混淆简介,加大别人分析你代码逻辑和流程难度

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 王平 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自 ...

  7. Python 简明教程 --- 6,Python 控制流

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io Talk is cheap, show me the code. -- Linus Torvalds ...

  8. 了解Python控制流语句——break 语句

    这篇文章主要介绍了详解Python中break语句的用法,是Python入门的呼出知识,需要的朋友可以参考下,python基础系列教程之-Python break语句 跳出循环 break 语句用以中 ...

  9. 了解Python控制流语句——for 循环

    for 循环 Python教程中for...in 语句是另一种循环语句,其特点是会在一系列对象上进行迭代(Iterates),意即它会遍历序列中的每一个项目.我们将在后面的Python序列(Seque ...

  10. 了解Python控制流语句——while 语句

    while 语句 Python 中 while 语句能够让你在条件为真的前提下重复执行某块语句. while 语句是 循环(Looping) 语句的一种.while 语句同样可以拥有 else 子句作 ...

随机推荐

  1. jquery轻量级数字动画插件jquery.countup.js

    插件描述: jquery.countup.js 是一款轻量级jquery数字动画插件.该数字动画插件可以在页面滚动时,将指定的数字从0开始计数增加动画. 插件说明 jquery.countup.js  ...

  2. 发送Json数据,WebApi查看时为Null的问题(已解决)

     1. PostMan :发送请求的Body中选择form-data是不行的.,body中的内容也要选择raw json格式.   2.如果是代码中填写的对象,api中解析为null,说明字段的值未对 ...

  3. C# 文件拖放到此程序的操作

       问题描述: 怎么写代码可以实现指定类型的文件通过鼠标拖放显示在程序的文本框中,如:选中3个文件(3个文件的格式有MP3和wma)拖到程序,程序的文本框显示这三个文件的路径...解决代码: thi ...

  4. Flink在流处理上常见的Source和sink操作

    flink在流处理上的source和在批处理上的source基本一致.大致有4大类 1.基于本地集合的source(Collection-based-source) 2.基于文件的source(Fil ...

  5. axios中文文档

    Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中. Features 从浏览器中创建 XMLHttpRequests 从 node.js 创建 http  ...

  6. 桐桐的数学游戏(N皇后)

    题目描述 相信大家都听过经典的“八皇后”问题吧?这个游戏要求在一个8×8的棋盘上放置8个皇后,使8个皇后互相不攻击(攻击的含义是有两个皇后在同一行或同一列或同一对角线上). 桐桐对这个游戏很感兴趣,也 ...

  7. 使用 Django-debug-toolbar 优化Query 提高代码效率

    一段程序执行效率慢,除了cpu计算耗时外,还有一个很重要的原因是SQL的Duplicated过多,使用Django-debug-toolbar能够快速找出哪些地方的SQL可以优化,提高程序执行效率 1 ...

  8. OpenJ_Bailian 2814 拨钟问题

    总时间限制:  1000ms 内存限制:  65536kB 描述 有9个时钟,排成一个3*3的矩阵. |-------| |-------| |-------|| | | | | | ||---O | ...

  9. KMP算法2

    给定一个主串s,一个子串sub,将主串中的所有子串替换成replaceStr,并将最终结果输出来. #include<stdio.h> #include<string.h> # ...

  10. To the Max POJ - 1050 (最大子段和)

    Given a two-dimensional array of positive and negative integers, a sub-rectangle is any contiguous s ...