• python-布尔表达式


    1、布尔表达式
    条件语句和循环语句都使用布尔表达式作为条件

    布尔值为真或假,以False和True表示,前面经常使用布尔表达式比较两个值,如:while x>=0 

    2、布尔操作符
    (1)布尔操作符: and,or和 not

    布尔运算符and和or用于组合两个布尔表达式,并产生一个布尔结果

    <expr> and <expr>

    <expr> or <expr>

    not运算符是一个一元运算符,用来计算一个布尔表达式的反

    not <expr> 

    (2)Python中布尔操作符的优先级,从高分到低分依次是not、 and最低是or。

    所以上面的达式等于如下这个带括号的版本

    壁球比赛计分例子

    a和b代表两个壁球选手的分数

    规则1:只要一个选手达到了15分,本场比赛就结束; 如果一方打了七分而另一方一分未得时,比赛也会结束

    
    
    if (a==15 or b==15)or (a==7 and b==0) or (a==0 and b==7):
        print('比赛结束')
    
    

    规则2:需要一个团队赢得至少两分才算赢,即其中一个队已经达到了15分,且分数差异至少为2时比赛结束 

    if (a==15 or b==15)or (a==7 and b==0) or (a==0 and b==7):
        print('比赛继续')

    (3)布尔代数

    (4)布尔表达式作为决策

    只要用户响应一个“Y” 程序就继续。为了让用户输入一个大写或小写,可以使用以下的循环: 

    对于序列类型来说,一个空序列被解释为假,而任何非空序列被指示为真

     1 >>> bool(0)
     2 False
     3 >>> bool(1)
     4 True
     5 >>> bool(32)
     6 True
     7 >>> bool(y)
     8 Traceback (most recent call last):
     9   File "<pyshell#6>", line 1, in <module>
    10     bool(y)
    11 NameError: name 'y' is not defined
    12 >>> bool('y')
    13 True
    14 >>> bool('')
    15 False
    16 >>> bool([])
    17 False

    这里可以解释,下面的程序,是判断response[0]等于y,或者Y,由于Y是bool型中始终为True,所以始终符合条件,形成死循环。注意布尔条件的拆分与组合。

     3、布尔表达式-简洁表示

    (1)如果用户仅仅简单敲下回车键,可以使用方括号中的值作为默认值 

    1 ans=input("what sports do you want[football]:")
    2 if ans!="":
    3     sport=ans
    4 else:
    5     sport='football'
    6 print(sport)

    (2)布尔语句简化

    1 ans=input("what sports do you want[football]:")
    2 if ans:
    3     sport=ans
    4 else:
    5     sport='football'
    6 print(sport)

    去掉!=‘’后,只要判断的bool语句是True,就执行。

    (3)简化

    1 ans=input("what sports do you want[football]:")
    2 sport=ans or 'football'
    3 print(sport)

  • 相关阅读:
    Canny边缘检测高低阈值问题
    EffectiveC++ Item25测试
    下载videolectures.net里的视频的方法
    01章 象数易理篇之一
    论文格式问题
    反序列化笔记
    什么是动爻
    EffectiveC++ Item25说的东东
    优化功能
    论文修改意见
  • 原文地址:https://www.cnblogs.com/ruo-li-suo-yi/p/7352490.html
Copyright © 2020-2023  润新知