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. Linux系统编程目录

    进程环境 进程控制 1. fork.vfork.clone 2. 回收子进程 3. exec函数族 进程关系 1. 进程组 2. 会话 信号 1. 函数函数sigaction.signal 2.僵尸进 ...

  2. 查找所有sphinx引擎表并生成创建表的语句

    -- 查找所有sphinx引擎select group_concat(table_name separator ' ') from information_schema.tables where en ...

  3. C# 中的readonly属性

    例如我们这里有一个类 class TestClass2 { private int someValue; public void ChangeValue(int newValue) { someVal ...

  4. 构造函数与 new 命令

    虽然不同于传统的面向对象编程语言,但是JavaScript具有很强的面向对象编程能力.本章介绍JavaScript如何进行“面向对象编程”. 对象的概念 “面向对象编程”(Object Oriente ...

  5. Faster-RCNN tensorflow 程序细节

    tf-faster-rcnn github:https://github.com/endernewton/tf-faster-rcnn backbone,例如vgg,conv层不改变feature大小 ...

  6. 选择结构switch

    1.选择结构switch switch 条件语句也是一种很常用的选择语句,它和if条件语句不同,它只能针对某个表达式的值作出判断,从而决定程序执行哪一段代码.例如,在程序中使用数字1~7来表示星期一到 ...

  7. 借助CSS Shapes实现元素滚动自动环绕iPhone X的刘海

    CSS代码: .box { max-width: 414px; height: 480px; border: solid #000; margin: auto; overflow: auto; } . ...

  8. jquery的div局部刷新

    jquery的div局部刷新 //div的局部刷新 $(".dl").load(location.href+" .dl"); 全页面的刷新方法 window.l ...

  9. Spring Boot Starters 列表

    Spring Boot application starters 名称 描述 Pom spring-boot-starter 核心starter,包括自动配置支持,日志和YAML Pom spring ...

  10. day33 网络编程之线程,并发以及selectors模块io多路复用

    io多路复用 selectors模块 概要: 并发编程需要掌握的知识点: 开启进程/线程 生产者消费者模型!!! GIL全局解释器锁(进程与线程的区别和应用场景) 进程池线程池 IO模型(理论) 1 ...