Python programozási nyelvben random szám generálása változóban?
Pythonban ha létrehozok egy random számgenerátort és aztán változóba teszem, akkor ugyanazt a számot adja ki mindig. Nekem most arra lenne szükségem, hogy akárhányszor használom a változót, mindig újabb számot adjon ki. Mindig újraírni a függvényt nem tudom, mert számolnom kell utána az adatokkal. Mi lenne a megoldás a problémára?
Előre is köszönöm a válaszokat!
"Pythonban ha létrehozok egy random számgenerátort és aztán változóba teszem,"
Itt a kulcs. A változónak az értéke nem fog megváltozni minden használatkor. Generálsz egy random számot, mondjuk 233, ezt hozzáadod az 'a' változóhoz. Akkor amíg nem írod felül, addig a változó értéke 233. Ehelyett, minden eseben új számot kell generálni, amikor csak egy új random számra van szükséged.
"Mindig újraírni a függvényt nem tudom"
Ezt nem tudom értelmezni. Miért kellene a függvényt újraírni? A függvényeknek pont az a lényege, hogy nem kell őket újraírni. Csak újra használni.
"Mindig újraírni a függvényt nem tudom"
Hogy mi?
Tegyük fel, hogy random.randint(1,100) a függvény, amivel generálod a random számot, és "rn" a változó neve, ahova mented az eredményt.
rn = random.randint(1,100)
Ahogy fentebb is írták, ez egyszer fog generálni egy véletlen számot, és aztán az nem fog változni.
Az egyik megoldás, hogy minden alkalommal, mielőtt használod a változót, újra beírod a fenti sort, és akkor új értéket fog kapni a változó.
A másik lehetőség, hogy nem használsz változót, hanem magát a függvényt használod, ahol kell. Ebben az esetben a generált szám a használat után elvész.
Harmadik lehetőség az alábbi:
rn = lambda: random.randint(1,100)
Ebben az esetben rn egy argumentum nélküli függvénnyé válik, vagyis ha rn()-ként használod, akkor kapod a mindig új random számot, és csak két zárójellel többet kell gépelned, mintha egyszerű változóként használnád.
Ha egyszerű probléma bonyolult megoldására vágysz, nézz utána a getter, setter metódusuknak.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!