2015-12-08 3 views
6

Pythonでiff文を書く方法はありますか? 私はをPythonでIFFを使用する

for i in range(x) 
    iff x%2==0 and x%i==0: 

で同じよ​​うに使用したいしかし、Pythonでは全くiff文はありません。ウィキペディアは、このようtruth table for iffを定義しています

a | b | iff a and b 
----------------------- 
T | T |  T 
T | F |  F 
F | T |  F 
F | F |  T 

私はPythonでこれを実現するにはどうすればよいですか?

+2

また、ダウン投票した人は投票を削除する必要があります。明らかに良い質問です。 –

答えて

9

Wikipediaによると:それはXNORゲートによって生成されたものと同等とし、その反対であることを

注意XORゲートによって生成されたものに変換する。

それはあなたが探しているものなら、単純にこのたい:前回の回答で問題を解決

if not(x%2 == 0^x%i == 0): 
14

truth table for IFFを見ると、pとqの両方が真であるか両方が偽である場合、(p iff q)が真であることがわかります。それあなたが言うだろうPythonコード内ので、ちょうど平等をチェックするのと同じです:

if (x%2==0) == (x%i==0): 
2

を。

このことについての注釈として:ifステートメントは、複数の入力ではなく1つの入力を受け入れます。したがって、if blah and bleh:を実行すると、if (blah and bleh):に相当します。式blah and blehは真理値のために最初に評価され、その結果はifステートメントに送られます。

真理値表の論理評価では、複数の入力(aおよびb)が1つではなく入力される必要がありますが、ifはそのように機能しません。

0

使用Biconditional文の等価:

enter image description here

0

はちょうど同じことを思っていました。

def iff(a,b,c): 
    if a: 
     return b 
    else: 
     return c 
関連する問題