Véletlen
Véletlen (random)
A random
modul a Python egy beépített modulja, amelynek segítségével véletlenszerű számokat és adatokat lehet generálni. A modul funkciói között található például a randint()
függvény, amely véletlenszerű egész számot generál a megadott tartományban, a random()
függvény, amely 0 és 1 közötti véletlenszerű tizedestörtet generál, valamint a choice()
függvény, amely véletlenszerűen kiválaszt egy elemet egy listából.
Példa
Például, ha az alábbi kódrészletet futtatjuk:
import random
print(random.randint(1, 10))
8
Ez generál egy véletlenszerű egész számot 1 és 10 között, majd kiírja a képernyőre.
Ha például szeretnénk egy véletlenszerű elemet választani egy listából, akkor használhatjuk a choice()
függvényt. Például, ha az alábbi kódrészletet futtatjuk:
import random
my_list = ['alma', 'körte', 'barack', 'szilva']
print(random.choice(my_list))
8
Ez generál egy véletlenszerű egész számot 1 és 10 között, majd kiírja a képernyőre.
Ez véletlenszerűen kiválaszt egy elemet a my_list
listából, majd kiírja a képernyőre. A kimenet minden egyes futtatáskor más lehet, attól függően, hogy melyik elem kerül véletlenszerűen kiválasztásra.
A random
modul lehetőséget nyújt még többféle véletlenszerű adat generálására is, mint például véletlenszerű dátumok vagy időpontok generálása.
import random #random modul beimportálása
random.randint(0,100) #0-100 között
37
random.random() #valós véletlen
0.66720945930164
random.seed(20) #mindig ugyan azt a számot adja meg | rögzíti a számot
print(random.randint(0,1000))
927
random.seed(10) #fixálja
l = [random.randint(1,91) for _ in range(5)] # 5x ismétli
print(*l)
74 5 55 62 74
lista = [10, 100, 323, 221, 342, 567]
print(random.choice(lista)) #választ a listából 1 db-ot
10
nevek = ['Béla' , 'Mari' , 'Ödön' , 'Géza', 'Elek']
print(random.choice(nevek)) #választ a listából 1 nevet
Mari
szinek = ['piros' , 'zöld' , 'kék', 'sárga' , 'lila', 'barna', 'fekete', 'fehér']
print(random.choices(szinek, k=3)) #választ a listából 3 színt
['sárga', 'sárga', 'kék']
print(random.sample(szinek, k=3))
['kék', 'piros', 'lila']