Tulisko mieleen mitn. ratkaisua seuraavaan:
Pythonin virheilmoitus:
--> 18 neliot = [nelio] * nelioiden_lkm
OverflowError: cannot fit 'long' into an index-sized integer
Eli yritän alustaa "taulun" samalla luvulla monta kertaa.
nelio ja lkm ovat suuruusluokkaa:
890205718554012655122895733394843710189050069001
Pienimmillä luvuilla toimii hienosti...
neliot.append(x) tuntuu varmaan hieman köykäiseltä?
Mod. aloitti uudesta kysymyksestä uuden aiheen!
Sinulta taitaa olla nyt jokin perustavanlaatuinen asia hukassa. Yrität luoda taulukkoa, jossa on 89 oktiljoonaa lukua. Tällainen tietomäärä ei mitenkään voi mahtua tietokoneen muistiin, onhan modernissakin tietokoneessa vain miljardeja tavuja keskusmuistia.
Virheilmoitus kertoo, että antamasi long-tyyppinen arvo (suuri luku) on niin iso, ettei sitä voi edes muuttaa sopivaan muotoon taulukon kokona tai indeksinä käytettäväksi.
Jos yrität luoda vaikka biljoonan alkion taulukon, luku on (64-bittisellä Pythonilla) mahdollista muuttaa sopivaan muotoon mutta muisti ei riitä ja tulee MemoryError. Jos koneessasi on reilusti muistia, miljardin alkion taulukko saattaa vielä juuri onnistua.
Aihe on jo aika vanha, joten et voi enää vastata siihen.