zoukankan      html  css  js  c++  java
  • Python培训 之五 条件判断

    计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。

    Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。
    可以通过下图来简单了解条件语句的执行过程:

     

    Python程序语言指定任何非0和非空(null)值为True,0 或者 null为False。

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

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

      

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

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

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

    if 判断条件1:
        执行语句1……
    elif 判断条件2:
        执行语句2……
    elif 判断条件3:
        执行语句3……
    else:
        执行语句4……
    

    如:

     1 #!/usr/bin/python
     2 # -*- coding: UTF-8 -*-
     3 # 例2:elif用法
     4  
     5 num = 5     
     6 if num == 3:            # 判断num的值
     7     print 'boss'        
     8 elif num == 2:
     9     print 'user'
    10 elif num == 1:
    11     print 'worker'
    12 elif num < 0:           # 值小于零时输出
    13     print 'error'
    14 else:
    15     print 'roadman'     # 条件均不成立时输出

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

     1 #!/usr/bin/python
     2 # -*- coding: UTF-8 -*-
     3  
     4 # 例3:if语句多个条件
     5  
     6 num = 9
     7 if num >= 0 and num <= 10:    # 判断值是否在0~10之间
     8     print 'hello'
     9 # 输出结果: hello
    10  
    11 num = 10
    12 if num < 0 or num > 10:    # 判断值是否在小于0或大于10
    13     print 'hello'
    14 else:
    15     print 'undefine'
    16 # 输出结果: undefine
    17  
    18 num = 8
    19 # 判断值是否在0~5或者10~15之间
    20 if (num >= 0 and num <= 5) or (num >= 10 and num <= 15):    
    21     print 'hello'
    22 else:
    23     print 'undefine'
    24 # 输出结果: undefine

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

    if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else
    请测试并解释为什么下面的程序打印的是teenager:

    1 age = 20
    2 if age >= 6:
    3     print('teenager')
    4 elif age >= 18:
    5     print('adult')
    6 else:
    7     print('kid')

    if判断条件还可以简写,比如写:

    if x:
        print('True')

    只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False。

  • 相关阅读:
    第九篇:网络编程
    第十篇:并发编程
    Python-GIL 进程池 线程池
    Python-生产者消费模型 线程
    Python-互斥锁 进程间通讯
    第八篇:异常处理
    第六篇:面向对象
    第四篇:模块与包
    【转】英语中的并列连词,只知道 and 和 but?11组并列连词,一篇搞定!
    【转】英语中的从属连词,28个,一篇搞定(句子结构2)
  • 原文地址:https://www.cnblogs.com/crucial/p/10829362.html
Copyright © 2011-2022 走看看