Kezdőoldal » Számítástechnika » Programozás » Python programozási nyelvben...

Python programozási nyelvben random szám generálása változóban?

Figyelt kérdés

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!



ápr. 5. 15:06
 1/7 anonim ***** válasza:
0%
init randomize
ápr. 5. 15:16
Hasznos számodra ez a válasz?
 2/7 anonim ***** válasza:
46%

"Pythonban ha létrehozok egy random számgenerátort "

Minek kellene "külön" létrehozni, ha már ott a random module:

[link]

a numpy random:

[link]

az os.urandom():

[link]

hacsak nem adsz meg fix seed-et, akkor eléggé véletlen számokat ad.

ápr. 5. 15:39
Hasznos számodra ez a válasz?
 3/7 anonim ***** válasza:
46%

"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.

ápr. 5. 15:55
Hasznos számodra ez a válasz?
 4/7 anonim ***** válasza:
76%
Jó lenne látni a kódot, ha a fentiek alapján se sikerült
ápr. 5. 16:06
Hasznos számodra ez a válasz?
 5/7 anonim ***** válasza:
33%

"Mindig újraírni a függvényt nem tudom"

Hogy mi?

ápr. 5. 16:39
Hasznos számodra ez a válasz?
 6/7 Ozmium42 ***** válasza:
100%

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.

ápr. 9. 11:00
Hasznos számodra ez a válasz?
 7/7 xp ali ***** válasza:
gyűjtsd egy listába, ha szükséged van az értékekre. Vagy tárold átmeneti változóban, ha csak rövid ideig kell és aztán soha többet.
ápr. 15. 15:21
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!