0

私は次の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"
4

2 に答える 2

6

いいえ、ifステートメントに2つの条件を含める「簡単な方法」はありません。あなたがすでに持っている方法はかなり簡潔です。

(ただし、結合されたバージョンは元のバージョンと同じことを行わないことに注意してください。そのor代わりに使用することをお勧めしますand。)

于 2013-02-25T05:08:37.363 に答える
2

2番目のステートメントは最初の2つと等しくありません。ブロックが満たされている場合、これら2つのいずれかがあれば、「一致」が出力されることに注意してください。

ただし、簡潔なバージョンでは、and演算子を使用しておりmatch、両方が真の場合にのみ印刷されます。

2つの独立したブロックで行ったことを実行する場合は、次を使用する必要がありますOR

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

はい、これはこれらのブロックを組み合わせる最もクリーンで簡単な方法です。

于 2013-02-25T05:12:39.187 に答える