美文网首页
初学python-条件语句

初学python-条件语句

作者: pnjoe | 来源:发表于2017-07-25 18:33 被阅读878次

    Python 条件语句

    Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。

    可以通过上图来简单了解条件语句的执行过程
    Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。

    Python 编程中 if 语句用于控制程序的执行,基本形式为:

    if 判断条件:
        执行语句……
    else:
        执行语句……
    

    其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。
    else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句,具体例子如下:

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
     
    # 例1:if 基本用法
     
    flag = False
    name = 'luren'
    if name == 'python':         # 判断变量否为'python'
        flag = True          # 条件成立时设置标志为真
        print 'welcome boss'    # 并输出欢迎信息
    else:
        print name              # 条件不成立时输出变量名称
    
    # 输出结果为:
    luren
    

    if语句的判断条件可以使用比较运算符

    if 语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。
    当判断条件为多个值时,可以使用以下形式:

    if 判断条件1:
        执行语句1……
    elif 判断条件2:
        执行语句2……
    elif 判断条件3:
        执行语句3……
    else:
        执行语句4……
    
    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    # 例2:elif用法
     
    num = 5     
    if num == 3:            # 判断num的值
        print 'boss'        
    elif num == 2:
        print 'user'
    elif num == 1:
        print 'worker'
    elif num < 0:           # 值小于零时输出
        print 'error'
    else:
        print 'roadman'     # 条件均不成立时输出
    
    # 输出结果为:
    roadman
    

    由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现,如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
     
    # 例3:if语句多个条件
     
    num = 9
    if num >= 0 and num <= 10:    # 判断值是否在0~10之间
        print 'hello'
    # 输出结果: hello
     
    num = 10
    if num < 0 or num > 10:    # 判断值是否在小于0或大于10
        print 'hello'
    else:
        print 'undefine'
    # 输出结果: undefine
     
    num = 8
    # 判断值是否在0~5或者10~15之间
    if (num >= 0 and num <= 5) or (num >= 10 and num <= 15):    
        print 'hello'
    else:
        print 'undefine'
    # 输出结果: undefine
    

    当if有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外 and 和 or 的优先级低于>(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比与或要优先判断。

    简单的语句组

    也可以在同一行的位置上使用if条件判断语句,如下实例:

    #!/usr/bin/python 
    # -*- coding: UTF-8 -*-
     
    var = 100 
     
    if ( var  == 100 ) : print "变量 var 的值为100" 
     
    print "Good bye!"
    
    # 以上代码执行输出结果如下:
    变量 var 的值为100
    Good bye!
    

    Python else与elif语句语法讲解

    else和elif语句也可以叫做子句,因为它们不能独立使用,两者都是出现在if、for、while语句内部的。else子句可以增加一种选择;而elif子句则是需要检查更多条件时会被使用,与if和else一同使用,elif是else if 的简写。

    • if和else语句使用方法
      下面用一个例题来说明if和else语句是如何搭配使用的,首先设定一个整型变量,我们来看看这个变量是是比0大还是比0小。
    >>>num = 0
    >>>if num > 0 :
    >>>    print '这个数比0大'
    >>>else :
    >>>    print '这个数比0小'
    

    首先程序判断了if语句的条件是否为真,如果是真,if语句块内容会被执行。如果这个num > 0,那么print '这个数比0大'会被执行。但num = 0,显然if语句的条件为假,对应语句块不会被执行;如果第一个语句块没被执行,那么就会执行第二个语句块。
    程序计算结果是‘这个数比0小’,有的人会有疑问了,应该是这个数等于0的结果更确切一些。那么为什么会出现这样的结果呢?拿案例中的数据来说,if和else语句的判断检查方式是,如果num > 0就输出 '这个数比0大' ,否则输出 '这个数比0小' 。因为else没有条件可设置,所以if条件不能被满足为假时,else子句块就会被无条件输出。
    对于这道题来说,我们要再给它加一个条件,这样得到的结果会更正确些,这时就会用到elif子句了。

    • if和else、elif语句使用方法
    >>>num = 0
    >>>if num > 0 :
    >>>    print '这个数比0大'
    >>>elif num < 0 :
    >>>    print '这个数比0小'
    >>>else :
    >>>    print '这个数是0'
    

    程序分别对if和elif做了判断,如果条件不为真,则输出else的语句块内容。程序运行结果是:这个数是0

    • if和else、elif语句使用时要注意以下两点:
    • else、elif为子块,不能独立使用
    • 一个if语句中可以包含多个elif语句,但结尾只能有一个else语句
    • else在while、for循环语句中的作用
      python中,可以在while和for循环中使用else子句,它只是在循环结束之后才会被执行,如果同时使用了break语句那么else子句块会被跳过。
      所以注意else子句和break语句不能同时使用!

    相关文章

      网友评论

          本文标题:初学python-条件语句

          本文链接:https://www.haomeiwen.com/subject/ajcgkxtx.html