rage / python-kesa20

https://python-k20.mooc.fi
0 stars 7 forks source link

Osan 4 tehtävässä Parilliset tarkistuksessa virhe #26

Closed mcturkki closed 4 years ago

mcturkki commented 4 years ago

Tässä koodini:

list=[] parit=[]

def parilliset(list): for i in list: if i%2==0:

if i in parit:

        #    continue
        #else:
        parit.append(i)
return parit

lista = [1,2,3,4,5,6] uusi_lista = parilliset(lista) print("alkuperäinen", lista) print("uusi", uusi_lista)

Tässä kyseenalainen virheilmoitus:

FAIL: ParillisetTest: test_3_lukuja_1 Lists differ: [2, 4, 6] != [2, 2, 4, 4, 6]

First differing element 1: 4 2

Second list contains 2 additional elements. First extra element 3: 4

Ohjelma tulostaa [2,4,6] eikä [2,4,2,4,6] kuten TMC väittää. Tässä lienee sattunut jokin sekaannos edellisen tehtävän tapaan?

mluukkai commented 4 years ago

tässäkin sama ongelma, funktio käyttää globaalia, eli funktion ulkopuolella määriteltyä muuttujaa parit sen takia funktio toimii ainoastaan jos sitä kutsutan kerran