私は火曜日にPythonクラスの試験を見直していますが、2つのリストが同じ項目/値を持っているかどうかを確認するプログラムを別の順序で作成しようとしています。比較プログラムが動作しないのはなぜですか?
これは私がこれまで持っているものである:それはまだ上記の文に真印刷し、いくつかの理由で
def reOrder(list1, list2):
if len(list1) != len(list2):
return False
for element1 in list1:
foundElement = False
for element2 in list2:
if element1 == element2:
foundElement = True
if foundElement == False:
return False
else:
return True
print(reOrder([1,7,10,8,4,2], [3,1,8,10,2,4]))
。どのように私はこれを修正することができるかに関する任意のアイデア?私はこれがのOPでそれを行うだろうと思う
あなたはuncoditionally外側のループの最初の繰り返しで 'true'にもしくは' false'のを返します – Himanshu
あなたはリスト1のすべての要素を確認するまでは、trueを返すべきではありません。デバッガを使用してコードをステップ実行する方法を学ぶには時間をかけてください。単純にコードを読むだけでははるかに明白になります。 –
それは最初の値 '1'自体を返すので、関数は完了しません。戻りTrueを取り除き、最後に貼り付けます –