and 和 or 是python的兩個邏輯運算符,可以使用and , or來進行多個條件內容的判斷。下面通過代碼簡單說明下and or的用法:
1. or:當有一個條件為真時,該條件即為真。邏輯圖如下:
測試代碼如下:
a=raw_input('please input somting:') if a=='a' or a=='b': print 'it is a or b' else: print 'it is not a or b'
執行代碼,輸入a,b,ac,結果如下:
please input somting:a
it is a or bplease input somting:b
it is a or bplease input somting:ac
it is not a or b
通過這個例子,我們可以看出,當輸入為a或者b時,滿足 a==‘a'或者a=='b'的條件,即滿足if條件。
2.or:當所有條件為真時,該條件即為真。邏輯圖如下:
測試代碼如下:
a=raw_input('please input somting:') if a!='a' and a!='b': print 'it is not a or b' else: print 'it is a or b'
執行代碼,輸入a,b,ac,結果如下:
please input somting:a
it is a or bplease input somting:b
it is a or bplease input somting:ac
it is not a or b
通過這個例子,我們可以看出,只有當條件同時滿足a!='a' 和 a!='b'時,才會執行 print 'it is not a or b'
3.為了深入了解and or的用法,考慮到當a='a' or 'b'或者a='a' and 'b'時,會是怎么樣子的呢。讓我們先測試or的用法看下,測試代碼如下:
a=raw_input('please input somting:') if a=='a' or 'b': print 'it is a or b' else: print 'it is not a or b'
我們輸入a,b,q,結果如下:
please input somting:a
it is a or b
please input somting:b
it is a or bplease input somting:q
it is a or b
我們發現,無論輸入什么,都滿足a==‘a' or 'b'這個條件,這是為什么呢?這時,我們看下or的運算原理:or是從左到右計算表達式,返回第一個為真的值。由于我們并沒有將比較值‘a' or 'b'用括號或者雙引號集合起來,所以當我們輸入q時,雖然輸入q=='a'這個條件不成立,當時,此時判斷條件變成了q=='a' or 'b',此時'b'不會空,當兩個條件之一有一個為真,這個判斷條件就是Ture,所以無論我們輸入什么,都是為Ture。我們可以稍微修改代碼,驗證下or的運算原理:or是從左到右計算表達式,返回第一個為真的值。測試代碼如下:
a=raw_input('please input somting:') if a==('a' or 'b'): print 'it is a or b' else: print 'it is not a or b'
我們輸入a和b,結果如下:
please input somting:a
it is a or b
please input somting:b
it is not a or b
因為‘a' or ‘b'這個條件,‘a'為第一個真值,所以這個條件其實返回的是‘a',所以只有當輸入為a,時,才執行了 print 'it is a or b' 。
4.and :從左到右計算表達式,若所有值均為真,則返回最后一個值,若存在假,返回第一個假值。對于and的測試,同于or,這邊就不做詳細介紹了。文章觀點如有什么錯誤的地方,歡迎指正。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
