python if 'a' and 'b' and 'c' in 'abc'的坑

需求:想判斷‘a’ ,‘b’ ,‘c’ 三個字符串都在‘abc’裏在執行下條語句。
下面代碼是錯誤的


    if 'a' and 'b' and 'c' in 'abc' :
    	print 'right'
    else :
    	print 'Error'	

正確寫法

if 'a'  in 'abcd' and 'b' in 'abcd'  and 'c'  in 'abc' :
	print 'right'
else :
	print 'Error'	

原因:python中if判斷條件是判斷語句是否爲true,什麼條件爲true?有字符時就爲true(除了bool類型的false)。
按第一種寫法這種情況是判斷不出來的。

if 'xxxxxxxxxxxx' and 'ababababddddddddddd' and 'c' in 'abc' :
	print 'right'
else :
	print 'Error'	

執行結果是:right,因爲只判斷了 ‘c’ in ‘abc’。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章