2017-08-01 7 views
0

この質問には既に尋ねられていますが、私は満足のいく答えを見つけられませんでした。前のファイルの返された結果に基づいてブール演算で条件を定義する方法

ブール演算を使用してテストしたい一連のファイルがあります。ファイルが条件を満たすと、コードは "True"を返します。そうでなければ "False"を返します。私のコードは、指定されたディレクトリ内のすべてのファイルを繰り返し処理し、その条件を満たすすべてのファイルの合計を返します。以下

いくつかの説明コード:

for roots, dirs, filenames in os.walk(in_dir): 
    for f in filenames: 
     sum_values = (np.max(array) - np.mean(array)) 
     boolean = np.greater_equal(sum_values, 100) 
     print boolean 

私の質問は、私は、追加的な条件を提供したいと考えていること、であるように、そのファイルをテストするとき、前のファイルに戻り値「True」に、そのファイルの場合自動的に「False」を返します。前のファイルが "False"を返した場合、結果はbooleanです。例:

file  boolean boolean_with_condition 
001   True  True 
002   True  False 
003   False  False 
004   True  True 
005   False  False 
006   False  False 

私はそれが合理的であることを望みます。行nboolean_with_conditionの値は、行nn-1booleanの値に依存することをお奨めします。ご協力いただき誠にありがとうございます。その真の、現在の結果が偽、それ以外の通常のロジックがある場合

+1

ストア変数の前の結果は、その後、前の結果=現在の結果 – jacoblaw

答えて

0
for roots, dirs, filenames in os.walk(in_dir): 
    previous = False 
    for f in filenames: 
     sum_values = (np.max(array) - np.mean(array)) 
     boolean = np.greater_equal(sum_values, 100) and (not previous) 
     print boolean 
     previous = boolean 
+0

こんにちは、再帰引数ということでしょうか?あなたは 'boolean'をnumpy' greater_equal'引数と 'not previous'の2つの項で定義しましたが、' previous'は後で 'boolean'で定義されます。これは循環的な議論につながりませんか? –

+0

@ailsa_naismith 'boolean = np.greater_equal(sum_values、100)と(前にない)'でやっていることは 'if previous:boolean = False; else:boolean = np.greater_equal(sum_values、100) ' – jacoblaw

関連する問題