python中的控制流

时间:2021-01-20 00:22:38

if
python条件语句是通过一条或多条语句的执行结果(True或false)来决定执行的代码块

if语句用于控制程序的执行,基本形式为:
if 判断条件:
执行语句。。。。
elif判断语句:
执行语句。。。。
else:
执行语句。。。。
注意:elif语句可以有0个或多个
while
while循环--在给定的判断他加你为true时执行循环体,否则退出循环体
for循环--重复执行语句
嵌套循环----在while循环体中嵌套for循环,也可以在for循环体中嵌套while循环

while判断条件:
执行语句。。。
执行语句可以时单个语句或语句块
判断条件开始时任何表达式,任何非零非空(null)的值均为true
当判断条件为false时,循环结束
for
python for循环可以遍历任何系列的项目,如一个列表或者一个字符串

for iterating_var in sequence:
statement(s)
# encoding=utf-8
# while True:
#     print u'死循环'
# i = [1,2,3,4]
# n = 10
# for j in i:
#     print j
#     i.append(n+1)

# sta = 'adefdsf'
# for i in sta:
#     print i
# lista = [1,2,3,4,5]
# for i in xrange(len(lista)):
#     print lista[i]
# tupe = (1,2,3,4)
# for i in tupe:
#     print i
break
break用于中断循环
continue用于结束当前的循环中剩余代码的执行,直接进入下一次循环(如果循环未结束)
嵌套循环
python语言允许在一个循环体里面嵌入另一个循环
python for循环嵌套语法:
for iterating_var in sequence:
for iterating_var in sequence:
statements(s)
statements(s)
练习题:嵌套循环输出10-50中个位带有1-5的所有数字
for i in xrange(10,51):
    s = i%10
    for j in xrange(1,6):
        if s == j:
            print i
pass 和是否可以迭代
pass是空语句,是为了保持程序结构的完整性,什么都不会做,仅仅是为了让语法不报错误
if 5>3:
pass
from collections import Iterable
print isinstance('abd',Iterable)#str是可迭代
print isinstance([1,2,3],Iterable)#list是可迭代
print isinstance(123,Iterable)#整数是不可迭代
直接退出多重循环
方法1:
class geroutofloop(Exception):pass
try:
    for i in range(5):
        for j in range(5):
            for k in range(5):
                if i==j==k==3:
                    raise geroutofloop()
                else:
                    print i,'......',j,'......',k
except geroutofloop:
    print 'pass'
方法2:
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()
方法3:
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:
            print u'第一else'
            continue
        break
    else:
        print u'第二个else'
        continue
    break

python中的控制流的更多相关文章

  1. 归纳整理Python中的控制流语句的知识点

    归纳整理Python中的控制流语句的知识点 Python 解释器在其最简单的级别,以类似的方式操作,即从程序的顶端开始,然后一行一行地顺序执行程序语句.例如,清单 1 展示了几个简单的语句.当把它们键 ...

  2. 9、python中的控制流

    学习完python的基础与数据后,我们就可以编写一些简单的命令了.但这时我们发现,目前位置写出来的程序都是自上而下顺序地执行的.要想程序改变这种自上而下的流程多一点变化,我们就要学习三种程序中的语句. ...

  3. Python基础之控制流

    介绍一些Python的基本的东西,你会发现,Python真的很简单.我也尽可能说得简单一些,因为我理解的也很简单. 在到目前为止我们所见到的程序中,总是有一系列的语句,Python忠实地按照它们的顺序 ...

  4. 《python解释器源码剖析》第11章--python虚拟机中的控制流

    11.0 序 在上一章中,我们剖析了python虚拟机中的一般表达式的实现.在剖析一遍表达式是我们的流程都是从上往下顺序执行的,在执行的过程中没有任何变化.但是显然这是不够的,因为怎么能没有流程控制呢 ...

  5. Python中的并发编程

    简介 我们将一个正在运行的程序称为进程.每个进程都有它自己的系统状态,包含内存状态.打开文件列表.追踪指令执行情况的程序指针以及一个保存局部变量的调用栈.通常情况下,一个进程依照一个单序列控制流顺序执 ...

  6. 可爱的 Python : Python中函数式编程,第一部分

    英文原文:Charming Python: Functional programming in Python, Part 1 摘要:虽然人们总把Python当作过程化的,面向对象的语言,但是他实际上包 ...

  7. python中的协程及实现

    1.协程的概念: 协程是一种用户态的轻量级线程.协程拥有自己的寄存器上下文和栈. 协程调度切换时,将寄存器上下文和栈保存到其他地方,在切换回来的时候,恢复先前保存的寄存器上下文和栈. 因此,协程能保留 ...

  8. 协程及Python中的协程

    1 协程 1.1协程的概念 协程,又称微线程,纤程.英文名Coroutine.一句话说明什么是线程:协程是一种用户态的轻量级线程.(其实并没有说明白~) 我觉得单说协程,比较抽象,如果对线程有一定了解 ...

  9. 【python中调用shell命令使用PIPE】使用PIPE作为stdout出现假卡死的情况——将stdout重定向为输出到临时文件

    在Python中,调用:subprocess.Popen(cmd, stdout = PIPE, stderr = PIPE, shell= true)的时候,如果调用的shell命令本身在执行之后会 ...

随机推荐

  1. unity 角色旋转

    using UnityEngine; using System.Collections; public class Triangle : MonoBehaviour { public float sp ...

  2. HOJ 2713 Matrix1

    Matrix1 My Tags   (Edit)   Source : Classical Problem   Time limit : 5 sec   Memory limit : 64 M Sub ...

  3. Intel® Ethernet Connection I217-V 网卡驱动(win10 ,2012)

    https://downloadcenter.intel.com/zh-cn/download/25016/-Windows-10 上面是win10 的驱动 win8.1  https://downl ...

  4. MIPS 跳转指令BAL vs JAL

    今天调试程序,发现在windows和Linux下,diab编译的结果不一样,一个能跑一个不能跑.最后定位到了函数跳转上. 程序代码里的函数跳转写的是BAL,在windows下编译结果正常,在Linux ...

  5. Mysql索引最左匹配原则

    先来看个例子: 1. 示例1:假设有如下的一张表: DROP TABLE IF EXISTS testTable; CREATE TABLE testTable ( ID BIGINT NOT NUL ...

  6. C# Note31: 如何使用Visual Studio做单元测试

    待更! 使用Visual Studio 2013进行单元测试--初级篇 带你玩转Visual Studio——单元测试(C++例)

  7. Hadoop集群动态服役新的数据节点&&退役数据节点

    备注:新添的机器为hadoop05,现有hadoop01.hadoop02.hadoop03.hadoop04 环境准备: 1.先克隆一台和集群中一样的机器 2.修改机器ip和主机名称 3.删除原来的 ...

  8. NeighboringCellInfo.aidl

    在src下先建立包名为android.telephony(右键src > new > package,create package-info.java打钩),然后右键刚建的android. ...

  9. vector容器建图

    #pragma comment(linker, "/STACK:1024000000,1024000000") #include"stdio.h" #inclu ...

  10. asp.netcore mvc 权限拦截

    1-背景介绍 需要做一个简单权限系统,基于 角色,用户,菜单 的模式 基于IActionFilter全局拦截,在内部跳转或者浏览器跳转的时候,拦截是成功的,当通过AJAX 请求的时候,页面就不会跳转 ...