Hey Ich überprüfe für eine Prüfung, die ich am Dienstag für eine Python-Klasse habe und ich versuche, ein Programm zu machen, das 2 Listen überprüft, um zu sehen, ob sie beide die gleichen Elemente/Werte haben, nur in anderer Reihenfolge. DieseWarum funktioniert mein Vergleichsprogramm nicht?
ist das, was ich bisher:
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]))
Aus irgendeinem Grund ist es nach wie vor auf der obigen Aussage wahr druckt. Irgendwelche Ideen, wie ich das beheben könnte?
Sie sollten nicht wahr zurück, bis Sie alle Elemente von list1 geprüft haben – Himanshu
Sie uncoditionally zurückkehren 'true' oder' false' in der ersten Iteration der äußeren Schleife. Nehmen Sie sich etwas Zeit, um zu lernen, wie Sie einen Debugger verwenden, um durch Ihren Code zu gehen, da dies es noch offensichtlicher machen würde als durch einfaches Lesen des Codes. –
gut das ist, weil es auf den ersten Wert '1' selbst zurückgibt die Funktion nicht vollständig entfernen Sie die Rückgabe True und fügen Sie es zuletzt –