#a def equals(liste_en,liste_to): """tester om de er av ulik lengde, er de det vil de ikke ha samme rekkef?lge n?r det kommer til elementene og returnerer derfor False""" if len(liste_en) != len(liste_to): return False #traverserer s? listene og sammenligner elementene for i in range(len(liste_en)): """returnerer False med en gang vi finner noe som ikke matcher. Dette sparer vi ogs? litt tid p? n?r det kommer til kj?ring av koden""" if liste_to[i] != liste_en[i]: return False return True print("tester oppgave a") print(equals([1,2,3,4],[1,2,3,4])) print(equals([1,2,3,4],[1,2,3])) print(equals([1,2,3,4],[1,2,3,5])) print(equals([1,2,3,4],[1,2,4,3])) def equals2(l1,l2): #tester om lengdene er like og returnerer False dersom de ikke har lik lengde if len(l1) != len(l2): return False #bruker zip til ? kunne iterere over begge listene samtidig for x,y in zip(l1,l2): #hvis elementene ikke er like returneres False if x != y: return False return True print("tester oppgave a med zip") print(equals2([1,2,3,4],[1,2,3,4])) print(equals2([1,2,3,4],[1,2,3])) print(equals2([1,2,3,4],[1,2,3,5])) print(equals2([1,2,3,4],[1,2,4,3])) #b uten hjelpemetode def same_set(liste_a,liste_b): #tester om alt i liste_a er i liste_b #kan ogs? l?ses med for-each-l?kke eller while-l?kke for i in range(len(liste_a)): #tester om ethvert element i liste_a finnes i liste_b if liste_a[i] not in liste_b: return False#return False siden vi fant en mismatch #tester at alt i liste_b er i liste_a for i in range(len(liste_b)): if liste_b[i] not in liste_a: return False #returnerer True ettersom vi har kommet gjennom begge l?kkene return True print("tester b uten hjelpemetode") """ hva gj?r range: liste = [1,2,3,4] range(len(liste)) = [0,1,2,3]""" print(same_set([1,2,3,4,1,1,1],[4,3,2,1])) # b med hjelpemetode def finnes(liste,verdi): for i in range(len(liste)): #tester om elementet er lik verdi, returnerer s? True if liste[i]==verdi: return True #returnerer False hvis man kommer gjennom l?kken uten ? finne elementet return False def same_set2(liste_a,liste_b): #tester om alt i liste_a er i liste_b #kan ogs? l?ses med for-each-l?kke eller while-l?kke for i in range(len(liste_a)): #tester om ethvert element i liste_a finnes i liste_b if not finnes(liste_b,liste_a[i]): return False#return False siden vi fant en mismatch #tester at alt i liste_b er i liste_a for i in range(len(liste_b)): if not finnes(liste_a,liste_b[i]): return False #returnerer True ettersom vi har kommet gjennom begge l?kkene return True print("tester b med hjelpemetode") print(same_set2([1,2,3,4,1,1,1],[4,3,2,1]))