Python学习入门基础教程(learning Python)--3.3.3 Python逻辑关系表达式
? ? 在if分支判斷語句里的條件判斷語句不一定就是一個表達式,可以是多個(布爾)表達式的組合關系運算,這里如何使用更多的關系表達式構建出一個比較復雜的條件判斷呢?這里需要再了解一下邏輯運算的基礎知識。邏輯關系運算有以下幾種運算符.
? ? ?下面是邏輯與實例,通過例子我們了解一下and、or等邏輯運算操作機制。
? ??
def if_check(): global xx = 79print(" in if_check x = ", x)if x >= 60 and x < 70:print(" good")if x >= 70 and x < 80:print(" better")if x >= 80 and x < 90:print(" best")if x >= 90 and x < 100:print(" Excellent")if x < 60:print(" You need improve")def main():global xprint(" in main x = ", x)if_check()x = 12 main()? ? ? ? Python程序運行結果如下所示。
?
? ? 由于x = 79所以只有if x >= 70 and x < 80:的condition滿足,故打印better,這里我們可以看出邏輯and運算符是要求and前后的布爾值都是真才能判定condition為真。
? ? 我們在看看or或邏輯運算符的實例,or要求or兩邊的布爾值有一個為真即判定if的conditon為真,如果兩邊都是假,那么if的條件判斷值為假。思考一下如果我們把上邊的程序里的所有and都改成or,會打印幾條?
?
def if_check(): global xx = 79print(" in if_check x = ", x)if x >= 60 or x < 70:print(" good")if x >= 70 or x < 80:print(" better")if x >= 80 or x < 90:print(" best")if x >= 90 or x < 100:print(" Excellent")if x < 60:print(" You need improve")def main():global xprint(" in main x = ", x)if_check()x = 12 main()? ? 請自己分析一下程序的運行結果。
?
? ? good和better被打印出來可以理解(79 >= 60, 79 > = 70都為真),但為何best和Excellent也被打印出來了呢?
當x = 79時,x >= 80為假但x < 90確實真,兩者做邏輯或運算其綜合表達式的值為真。同理,if x >= 90 or x < 100:里有79 < 100為真,故if的條件判斷語句(x >= 90 or x < 100)為真。
? ? 最后需要說明一點的是,在if里and和or可以不止一個。
? ?
——————————————————————————————————
?
?
總結
以上是生活随笔為你收集整理的Python学习入门基础教程(learning Python)--3.3.3 Python逻辑关系表达式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++笔记 4
- 下一篇: 关于使用AIR开发移动APP 的技术解决