Véletlen szám generálás


Mint minden programozási nyelvben úgy itt is lehetőség van véletlenszerűen létrehozni szám értékeket. Erre szolgál a véletlen szám generálás.


import random

a = 0

while a<7:

a=a+1

velszam = random.randint(5,10)

print(velszam)


Az első sorban importáljuk a random könyvtárat ami a véletlen szám függvényeit

tartalmazza. A Pythonnak van egy alap utasítás készlete, de rengeteg dolog csak könyvtárakon keresztül érhető el, ilyen ez is. Az adott könyvtárhoz az import utasítás segítségével biztosíthatjuk az elérési utat. Miért van erre szükség? Takarékosság, ha alapból minden utasításkészlet bent lenne a fordítóba és a legkisebb programhoz is hozzá kapcsolna mindent akkor hatalmas,lassú, használhatatlan programokat kapnánk. Így viszont célirányosan csak a szükséges utasítások fordítódnak a szcriptjeink mellé.


A 2.-- 4. sor ciklusa segít, hogy láthatóvá váljon a véletlenszerű értékadás több példán keresztül.

Az 5. sor tartalmazza a generálást:

velszam = random.randint(5,10)

A velszam a változó amibe a generált értéket eltároljuk, ez a későbbiekben mindig így lesz ha függvényektől visszatérési értéket várunk, de ezt majd később.


random.randint(5,10) – ezzel a sorral íratjuk ki a számokat 5 és 10 között.

A random könyvtár utasításait a könyvtárnév utána az utasítás ponttal elválasztva írjuk a programba. A randint() teszi lehetővé hogy, egész számokat generáljunk.

A randint két értéke azt az intervallumot adja, ami a generálandó számok legkisebb és legnagyobb lehetséges értékét határozza meg.


import random

a = 0

while a<9:

a=a+1

szam = random.randrange(8)

print(szam)

Lehet máshogy is véletlen számot lekérni, egy ilyen lehetőség a random.randrange()

használata. Ez az utasítás ugyan azt teszi mint randinit csak a max határértéket már nem adja értékül ( a példában 8 a határérték a kiírás legnagyobb száma a 7.)


szam = random.randrange(8,16)

a randrange itt már két értéket tartalmaz, egy minimum és egy maximum értéket.


szam = random.randrange(8,16,2)

három értéket is adhatunk a randrange-nek, itt a harmadik érték a lépés közt állítja be.

A példában a 8-tól minden második érték 15-ig kiíródhat, tehát:

8, 10, 12, 14


szam = random.random()

0 és 1 közötti véletlen valós számot hoz létre.


szam = random.uniform(4,9)

a megadott határok között hoz létre valós számot.


import random

a = 0

while a<7:

a=a+1

szam = random.choice("abcdefghji")

print (szam)

a random.choice segítségével egy listából választ ki véletlenszerűen elemeket.


A könyvtár kezelésről még egy-két apróság, a könyvtáron belül közvetlenül utasításokat is importálhatunk a pythonban.


from random import randint

print(randint(4,12))


Az első sor változott, from-mal bővült aztán az import hozza a megadott utasítást.

Tehát a random könyvtárból a randint utasítást importáljuk. Mint láthatjuk a randint

meghívása előtt így már nem kell odaírni a könyvtár nevet ponttal elválasztva.


from random import randint,uniform

print(randint(4,12))

print(uniform(4,12))


Akár több könyvtárutasítást is importálhatunk vesszővel elválasztva.


Vagy az összes utasítást importálni lehet a csillag jellel.

from random import *

print(randint(4,12))

print(uniform(4,12))


A random könyvtár még jó néhány utasítást tartalmaz, de ezek speciálisabb eseteknél

használhatók, az alapokhoz elég ennyi is.


Véletlenszám feladatok itt!