2   0

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?

Kysyjä: Anonyymi käyttäjä, 3.12.2011 19:17

Vastaukset

  1   0
nRT (354)

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/

4.12.2011 11:55
  0   1
Vahvistamaton käyttäjä

Kysy Ohjelmointiputka.net sivustolla python kysymyksiä. siellä osataan niihin vastata.

3.12.2011 21:08

Ehdota parempaa vastausta

Voit osallistua myös täysin nimettömästi ilman käyttäjätunnusta.
Mikäli sinulla ei ole vielä AfterDawn-käyttäjätunnusta, syötä allaolevaan kaavakkeeseen toivomasi käyttäjätunnus sekä sähköpostiosoitteesi. Lähetämme sinulle jälkikäteen aktivointilinkin antamaasi sähköpostiosoitteeseen.

Mikäli sinulla on jo ennestään AfterDawn-käyttäjätunnus, kirjaudu sisään seuraavan välilehden kautta.

Kirjaudu sisään käyttäen AfterDawn -käyttäjätunnustasi tai sähköpostiosoitettasi.


Kysy.

150