2017-04-19 8 views
1

このコードブロックをどのように機能させるかを理解するために、特に関数funcを繰り返し実行する場合、どうすればその関数を呼び出すことができますか?関数のリストを反復処理し、ループ内でそれらの関数を呼び出すにはどうすればよいですか?

def compare_two_hands(h1, h2): 
    determinants = [is_flush(h), is_two_pair(h), is_one_pair(h)] 
    for func in determinants: 
     if func(h1) or func(h2): 
      if func(h1) and func(h2): 
       ... 
      else: 
       ... 

答えて

1

関数を呼び出すのためのあなたのコードを、あなたはそれを書かれているように、動作します。唯一の問題は、リストdeterminantsを定義した方法です。私は3つの関数が同じ名前空間のどこかで定義されていると仮定します。リストを作成しているときに参照すると、(h)

def is_flush(h): 
    ... 

def is_two_pair(h): 
    ... 

def is_one_pair(h): 
    ... 

def compare_two_hands(h1, h2): 
    determinants = [is_flush, is_two_pair, is_one_pair] 
    # rest of function as you already have it 
関連する問題