2013-02-25 239 views
0

我想結合以下如果statments結合兩個if語句

if "%s\n" % baseAU in out: 
     print "Match" 
     count = 1 

    if internaldep in pendinggerrits: 
     print "match" 
     count = 1 

我嘗試以下,但有更簡單的方法

if "%s\n" % baseAU in out and internaldep in pendinggerrits: 
     print "match" 
+0

究竟是什麼「不容易」呢? – 2013-02-25 05:08:53

+1

順便提一句,這兩個版本* *不相等。第一個版本是邏輯邏輯,而第二個邏輯是邏輯邏輯。 – 2013-02-25 05:10:59

+0

你的兩套陳述並不相同。你的前兩個「if」陳述是獨立的。在第二種情況下,您將「和」應用於這兩個條件。 – Kavka 2013-02-25 05:13:05

回答

4

沒有,沒有一個「更簡單的方法「在if聲明中加入兩個條件;你已經擁有的方式非常簡潔。

(請注意,但是,合併版本不會做同樣的事情,原來的版本。你想使用or而不是and了點。)

2

你的第二個說法是不等於第一二。 注意,如果滿足2個塊中的任何一個,則打印'匹配'。

但是在您的簡潔版中,您使用的是and運算符,只有在它們兩者都爲真時,纔會打印match

如果您打算做你2獨立塊做了什麼,你需要使用OR

if "%s\n" % baseAU in out or internaldep in pendinggerrits: 
     print "match" 

,是的,這是對那些塊相結合的乾淨和簡單的方法。