0

単純化する方法はありますか:

if x == 1 and y == 2 and z == 3:

if x == 1 and y == 1 and z == 1:

if x == 1 or y == 2 or z == 3:


if x == 1 or x == 2のように簡略化されますif x in [1, 2]:

4

1 に答える 1

1

あなたの例の1つは、他の例とは異なりますandフォームは簡単に簡略化できます。

if x == 1 and y == 2 and z == 3:

になります:

if (x, y, z) == (1, 2, 3):

しかし、orフォームはこれ以上きれいにすることはできません。次のように書き換えることができます。

if any(a == b for a, b in zip((x, y, z), (1, 2, 3))):

しかし、それはほとんど「単純化」されていません。

于 2014-11-29T19:58:10.503 に答える