2012-01-21 8 views
0

は私が持っているの文:Pythonの整数ワイルドカードですか?

if self.rank == self.cube.Get_cart_rank([x, y, 0]) 

を、私はそれが、xとyのように任意の値を受け入れるように、ワイルドカードを使用したいと思います。私は(真、真、0)を使用することを考えていたが、それはポイント[0,0,0]のために働くだろうか?どのようにそれを行うにはアドバイス?

+4

「Get_cart_rank」とは何ですか? – kennytm

+0

MPI関数ですが、問題はありません。引数の数値は、負の整数ではありません。 – kyooryu

+0

他のすべての整数と等しい整数はありません。それは良いことです。 – delnan

答えて

0

私が正しくあなたの質問を理解していれば、あなたはxのためのいくつかの値が存在するかどうかを知りたいとあなたif条件はTrueyようになっていること。明示的なペアを検索する必要があります:

found_pair = False 
# MAX_X and MAX_Y would be have to be supplied by you 
for x in range(0, MAX_X+1): 
    for y in range(0, MAX_Y+1): 
     if self.rank == self.cube.Get_cart_rank([x,y,0]): 
      found_pair = True 
      break 

if found_pair: 
    ... 

構造そして、そのような質問をして、コードを書いて、あなたのための検索を実行する方法を提供する(例えばPrologのような)言語があります。しかし、Pythonはその1つではありません。

+0

ありがとう、それは私が好奇心を持っていたことです - もしあなたがそのループのために使うのを避けることができれば。 – kyooryu

+2

'(MAX_Y + 1)のyの範囲(MAX_X + 1)のxのself.rank == self.cube.Get_cart_rank([x、y、0]):... ' – hughdbrown

+0

一時的な 'found_pair'変数を必要としないように修正しました。 'any'が利用できなかったとき、私はまだpython-2.4の考え方に固執しています。 – chepner

0

ワイルドカードの場合はNone, None, 0、次にGet_cart_rankの場合はif x is Noneを確認します。デフォルトの引数を使用してこれを行うより良い方法がありますが、もっと情報が必要です。

+0

より具体的な回答が必要な場合は 'self.rank'とは何か、Get_cart_rankは何を返しますか、何を比較していますか? –

+0

Get_cart_rankデカルトトポロジでノードのランクを返すmpi4pyメソッドです。私が望むのは、(x = any_int、y = any_int、z = 0)の座標を持つノードに対してステートメントがtrueを返すことです。 – kyooryu

関連する問題