-
Python funktio muuttaa parametrinsa arvoa funktion ulkopuolella, miksi?
Teen korttipeliä ja minulla on funktio joka tarkastaa käykö parametrina annettu kortti toisena parametrina annettuun "pöytään" ja laittaa sen sinne mikäli se onnistuu ja palauttaa pöydän, jos kortti ei käy palauttaa None:n. Ongelmana on että funktio myös muuttaa pöydän (lista jonka sisällä listoja) arvoa funktion ulkopuolella, vaikka mitään muuttujaa ei ole globaalisti määrätty. Ideoita mistä voisi johtua?
2 vastausta
-
Pythonissa lista toimii funktiokutsussa hieman eri tavalla kuin muut muuttujat. Siinä missä muilla muuttujilla on omat nimiavaruudet eri funktioissa / aliohjelmissa, listasta siirtyy viittaus alkuperäiseen listaan. Eli aliohjelmassa listaan tehdyt muutokset säilyvät myös aliohjelman ulkopuolella.
Mutta tosiaan, ohjelmointiputka on parempi paikka kysellä neuvoja. Sinne siis.
http://www.ohjelmointiputka.net/ -
Kysy Ohjelmointiputka.net sivustolla python kysymyksiä. siellä osataan niihin vastata.
Vastaa kysymykseen
Huom! Ethän vastaa pelkällä linkillä. Vaikka vastaus kysymykseen löytyisikin linkin takaa, tiivistä sen sisältö tähän, jotta lukijan ei tarvitse siirtyä toiseen palveluun saadakseen tarkan vastauksen kysymykseensä.