2013-12-08 55 views
1

如果檢查器對於a_list中的每個項目都是假的,我想添加一個打印(「東西」)。非常感謝您的幫助!如果檢查器在列表中的每個項目都顯示爲false,我怎樣才能打印它?

def checker(lst, lstA): 
    for i in range(4): 
     if function(lst[i],lstA) != lst[i][1]: #testing FALSEHOOD 
      return False; 
    return True; 


def main(???): 
    for H in range(0,len(a_list)): 
     if a_list[H] > lst[3][0]: 
      continue 

     lstA = [a_list[H]] 

     if not checker(lst,lstA): 
      continue 

     lstA.append(input('some input from the user')) 
     other_function(lstA) 

     if lstA[1]== 40: 
      print ('something something') 
      return #break out of EVERY loop 
+0

你能請妥善縮進代碼,以便它會更容易理解呢? – aga

+1

「_if檢查器對list_中的每個項目都是錯誤的。你的意思是哪個?你有'a_list','lst','number_list'和'lstA'。除了最後一個,任何地方都沒有定義,順便說一句。 – Kevin

+0

對不起,number_list和a_list應該是一樣的!我的意思是a_list。它們中的什麼並不重要:) – user2966098

回答

0

你的問題有點vauge,所以我不是100%肯定的我其實回答你問的問題。另外,我猜的代碼應該以如下方式進行縮進:

def main(???): 
    for H in range(0,len(a_list)): 
     if a_list[H] > lst[3][0]: 
      continue 

     lstA = [number_list[i]] 

     if not checker(lst,lstA): 
      continue 

     lstA.append(input('some input from the user')) 
     other_function(lstA) 

     if lstA[1]== 40: 
      print ('something something') 
      return #break out of EVERY loop 

此外,您使用變量i,這似乎並沒有在任何地方定義。

您可以在for循環之外添加一個變量,以跟蹤目前爲止所有值的檢查是否爲false。在開始的時候,這應該是真實的:

... 
false_for_all = True 
for H in range(0,len(a_list)): 
... 

然後,如果檢查通過將它設置爲False。

... 
if not checker(lst,lstA): 
    continue 
false_for_all = True 
... 

現在您可以使用false_for_all變量來檢查所有值的檢查是否失敗。

+0

我還是不太明白.. ../ – user2966098

0

我不明白你要添加什麼print(「something」)。如果您要添加的聲明中checker功能,您可以添加一個指標,存儲檢查多少次失敗:

def checker(lst, lstA): 
    errors = 0 
    for i in range(4): 
     if function(lst[i],lstA) != lst[i][1]: #testing FALSEHOOD 
      errors += 1 
    if not errors: 
     return True 
    elif errors == 4: 
     # print something here 

    return False 
+0

這不是我以前的樣子,但是我仍然設法解決它! 雖然謝謝! – user2966098

相關問題