Python – véletlen számok

10. osztály 10.évf Python Programozás Python

Ahogy korábban már íram, a véletlen számok használatához importálni kell a random modult.
import random Utána a random modul utasításait tudjuk használni. A random a rendszeridőt használja a véletlen szám létrehozására. Néhány gyakrabban használt modulra fogok csak kitérni.

random.random() Ez 0 és 1 közötti valós véletlen számoat fog generálni, az 1 nincs benne! Ismerős lehet más programozási nyelvekből. Nyilván ha megszoroznám 10-zel, és venném az egész részét akkor 1-10-ig sorsolna ez is.

random.randrange() Ennek 3 paramétere lehet: mettől, meddig, lépésköz.

Ha azt írjuk, hogy random.randrange(1,10,1) az azt jelenti, hogy a kisorsolt számok lehetnek: 1,2,3,4,5,6,7,8,9 Ebben az esetben az utolsó paraméter simán elhagyható, mivel 1 az alapértelmezett.
Ha csak 1db paramétert adok, akkor 0 és a megadott szám-1 közötti számokat sorsol ki.

Ugyanúgy, ahogy a for ciklusnál is néztük, nem csak 1 lehet a lépésköz. Ha csak 1-10 közötti páratlan számokat akarok sorsolni akkor: random.randrange(1, 10, 1)

random.randint() A randint abban különbözik a randrange-től, hogy a felső határ számokat is beleveszi a sorsolásba. A print(random.randint(1,10)) 1-10-ig sorsol véletlen számokat. Röviden fogalmazhatunk úgy is, hogy randrange(start, stop+1)

suffle() A random.suffle() utasítással egy lista elemeit tudjuk összekeverni. A listát felülírja az új sorrenddel. Nézzük a már korábban is használt hetköznapos listánkat.

import random
napok = [„hétfő”, „kedd”, „szerda”,”csütörtök”,”péntek”]
random.shuffle(napok)
print(napok)

choice() A random.choice() utasítással egy véletlen elemet tudunk kiválasztani pl. egy listából.

choices() A random.choices utasítással több elemet lehet kiválasztani pl. egy listából. A kiválasztott elemek száma lehet több, mint a lista elemeinek száma. Tehát simán ki tudunk sorsolni 10-et is az 5 elemű listából. Hogy ne legyen ennyire egyszerű, még súlyozni is lehet az egyes elemeket. Tehát ha azt akarom, hogy nagyobb eséllyel sorsoljon pénteki napot, annak nagyobb „súlyt” adok meg.

sample() A random.sample() utasítással x elemszámú listát tudunk kiválasztani pl. egy listából. Ebben a példában 2 napot választunk ki az ötből. A k értéke 1 és a lista maximum elemszáma közötti lehet.

seed() A random.seed() utasítással megadhatunk egy konkrét értéket a random-nak, ami a programunk tesztelésénél lehet hasnos, mert így mindig ugyanazt az értéket kapjuk.