zoukankan      html  css  js  c++  java
  • 程序流程控制1 if 分支机构

            通常,程序结构分为三种,顺序结构,循环结构和分支结构。程序中的语句按照先后顺序执行,成为顺序结构。分支结构则根据测试条件执行不同的代码。循环结构指重复执行相同的代码。Python用if语句实现分支结构,用for和while实现循环结构。
     
    1、if 分支结构
        python用if语句来选择要执行的程序代码,从而实现分支结构。在if语句内部,可以包含其他的语句,包括if语句。所以,if语句是目前接触到的第一个复合语句。
    1.1 if 语句的基本结构
    if语句的基本结构如下。
    if 条件测试表达式1:
        语句块1
    elif 条件测试表达式2:
        语句块2
    ......
    else:
        语句块n
     
     
    x
     
     
     
    1
    if 条件测试表达式1:
    2
        语句块1
    3
    elif 条件测试表达式2:
    4
        语句块2
    5
    ......
    6
    else:
     
     
    7
        语句块n
     
     
    根据python缩进规则,if,elif和else必须对齐,以表示他们是同一个语句。各个语句块中的代码同样必须对齐。elif和else都可以省略,可以有多个elif。
    (1)最简单的if语句
    最简单的if语句不包含elif和else。例如:
    x=5
    if x>0:
        print(x,"是正数")
    .....
    5 是正数
     
     
     
    1
     
     
     
    1
    x=5
    2
    if x>0:
    3
        print(x,"是正数")
    4
    .....
     
     
    5
    5 是正数
     
     
    执行if语句时,python首先计算表达式“x>0”,x的值为5,计算结果为真(True),所以执行print()输出。如果表达式“x>0" 计算结果为假(False),则不会执行print()。
     
    (2)双分支if语句
    双分支if语句由if和else两部分组成。例如:
    x=-5
    if x>0:
        print(x,"是正数")
    else:
        print(x,"不是正数")
    ......
    -5 不是正数
     
     
     
    1
     
     
    1
    x=-5
    2
    if x>0:
    3
        print(x,"是正数")
    4
    else:
    5
        print(x,"不是正数")
    6
    ......
     
     
    7
    -5 不是正数
     
     
    执行if语句时,python首先计算表达式“x>0”,计算结果为真则执行if部分的语句,否则执行else部分的语句。
     
    (3)多分支if语句
    多分支if语句由if、一个或者多个elif和else部分组成,else部分可省略。例如:
    x=85
    if x<60:
        print("不及格")
    elif x<70:
        print("及格")
    elif < 90:
        print("中等")
    else:
        print("优秀"
    ......
    中等)
     
     
     
    1
    10
     
     
     
    1
    x=85
    2
    if x<60:
    3
        print("不及格")
    4
    elif x<70:
    5
        print("及格")
    6
    elif < 90:
    7
        print("中等")
    8
    else
    9
        print("优秀"
    10
    ......
     
     
    11
    中等)
     
     
    python在执行多分支if语句时,按照先后顺序依次计算各个测试表达式。当前面的测试表达式为假时,才会计算下一个测试表达式,否则执行相应的语句块,语句块执行完则if语句结束,不在计算后续测试表达式。如果所有的测试表达式为假,而执行else部分的语句。
     
    2、真值测试
    python 与C/C++ 在处理真值和逻辑运算的方式有所不同。在python中:
    任何非0数字和非空对象都为真
    数字0、空对像(如空列表[]、空字典{})、None都为假
    比较和相等测试返回True或False
    逻辑运算and和or会返回参与运算的真或假的对象
    not x: x 为真时,结果为假,否则结果威震
    x and y : x和y均为真时,结果为真,否则为假
    x or y : x 和y均为假时,结果为假,否则为真
     
    (1)比较 和 相等 测试
    比较 和 相等 测试总是返回True或False。例如:
    2<5
    True
    2>5
    False
    2==5
    False
     
     
     
    1
     
     
    1
    2<5
    2
    True
    3
    2>5
    4
    False
    5
    2==5
     
     
    6
    False
     
     
    (2)not 运算
    not 运算返回Ture或False。例如:
    not True,not False
    (False,True)
    
    not 0,not 1,not 2             #非0数字为真
    (True,False,False)
    
    not 'abc',not[1,2],not{"a":12}    #非空对象为真
    (False,False,False)
    
    not ",not [],not {}         #空的对象为假
    (True,True,True)
     
     
     
    1
    10
     
     
     
    1
    not True,not False
    2
    (False,True)
    3
    
    
    4
    not 0,not 1,not 2             #非0数字为真
    5
    (True,False,False)
     
     
    6
    
    
    7
    not 'abc',not[1,2],not{"a":12}    #非空对象为真
    8
    (False,False,False)
    9
    
    
    10
    not ",not [],not {}         #空的对象为假
    11
    (True,True,True)
     
     
    (3)and 和 or
    python中的and和or运算符总是返回参与运算的对象,而不是True或False。
    python在计算and运算时,总是按从左到右的顺序计算。在找到第一个为假的对象时,返回该对象,即使右侧还有需要计算的对象,计算都结束。这种计算方式称为短路计算。如果参与的运算对象都为真,则返回最后一个为真的对象。例如:
    0 and 2
    0
    [] and 2
    []
    [] and {}
    []
    2 and 5
    5
    5 and 2
    2
     
     
     
    1
    10
     
     
     
    1
    0 and 2
    2
    0
    3
    [] and 2
    4
    []
    5
    [] and {}
    6
    []
    7
    2 and 5
     
     
    8
    5
    9
    5 and 2
    10
    2
     
     
    or运算同样执行短路运算,在找到第一个为真的对象时,返回该对象,计算介绍。例如:
    0 or 2
    2
    2 or []
    2
    False or 5
    5
    [] or {}
    {}
    {} or False or []
    []
     
     
    1
    10
     
     
    1
    0 or 2
    2
    2
    3
    2 or []
    4
    2
    5
    False or 5
    6
    5
    7
    [] or {}
    8
    {}
    9
    {} or False or []
     
     
    10
    []
     
     
     
    3、if...else三元表达式
    考查下面的if语句。
    if x>y:
        a=x
    else:
        a=y
     
     
    1
     
     
    1
    if x>y:
    2
        a=x
    3
    else:
     
     
    4
        a=y
     
     
    该if语句将x,y中的较大值赋值给a,该语句可简化成如下的if...else三元表达式。
    a=X if x>y else y
     
     
    1
     
     
     
     
     
    1
    a=X if x>y else y
     
     
    python还支持从列表中挑选对象,其基本格式如下。
    a=[x,y][f]
     
     
     
    1
     
     
     
     
    1
    a=[x,y][f]
     
     
    f为假时,将x赋值给a,否则将y赋值给a。例如:
    x=5
    y=10
    a=[x,y][x<y]
    a
    10
    
    a=[x,y][x>y]
    a
    5
     
     
    1
     
     
    1
    x=5
    2
    y=10
    3
    a=[x,y][x<y]
    4
    a
    5
    10
    6
    
    
    7
    a=[x,y][x>y]
    8
    a
     
     
    9
    5
     
     
     
     
     
     

    <wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">





    每个人都可以站在大地上,分享这个世界,并触摸天空;
  • 相关阅读:
    Django + Uwsgi + Nginx 的概念
    ubantu+nginx+uwsgi+django部署
    FileZilla以root用户登录Linux
    全文检索django-haystack+jieba+whoosh
    七牛云上传视频
    JWT登录与多方式登录
    vue绑定用户页面
    绑定微博用户接口
    vue微博回调空页面
    微博回调接口
  • 原文地址:https://www.cnblogs.com/one99/p/8097618.html
Copyright © 2011-2022 走看看