Willekeurigheid genereren met de Python random module
Op deze pagina:
De random module is een ingebouwde module om willekeurigheid te genereren. Deze kan gebruikt worden om bijvoorbeeld een willekeurig getal op te vragen, een willekeurig element uit een lijst te selecteren, of elementen in een lijst willekeurig door elkaar te schudden.
Willekeurige decimale getallen genereren met random()
De random.random() methode geeft een willekeurig decimaal getal (float) tussen 0.0 en 1.0. Deze functie heeft geen argumenten nodig.
import random
print(random.random())
# mogelijk resultaat:
0.0018188816637245697
Willekeurige gehele getallen genereren (integers) met randint()
De random.randint() methode geeft een willekeurig geheel getal tussende opgegeven gehele getallen (integers). De opgegeven grenswaarden kunnen ook teruggegeven worden als willekeurig getal.
import random
# getal groter als 0 en kleiner als 11
print(random.randint(1, 10))
# getal groter als 0 en kleiner als 101
print(random.randint(1, 100))
# getal groter als 0 en kleiner als 1001
print(random.randint(1, 1000))
# mogelijk resultaat
1
80
251
Willekeurige getallen genereren binnen een bereik met randrange()
De random.randrange() methode geeft een willekeurig geselecteerd element van een bereik gedefinieerd door de start, stop en step argumenten. De waarde van start is 0 als default en de waarde van step is 1 als default. Het argument dat is opgegeven als start kan wel terugkomen als willekeurig getal, het argument dat is opgegeven als stop komt nooit terug als willekeurig getal.
import random
# groter als 0 en kleiner als 10 met default stap 1
print(random.randrange(1, 10))
# groter als 0 en kleiner als 10 met stap 2
print(random.randrange(1, 10, 2))
# groter als -1 en kleiner als 101 met stap 10
print(random.randrange(0, 101, 10))
# mogelijk resultaat
1
3
100
Willekeurige elementen selecteren met choice()
De random.choice() methode geeft een willekeurig gekozen element uit een niet-lege reeks. Een lege reeks als argument geeft een IndexError.
import random
# willekeurige letter uit een woord
print(random.choice('internet'))
# willekeurig getal uit een reeks
print(random.choice([12,34,56,78,90]))
# willekeurig item uit een reeks
print(random.choice(['hallo','wereld','goedemorgen',538]))
# mogelijk resultaat
t
12
wereld
Een lijst willekeurig door elkaar schudden met shuffle()
De random.shuffle() methode schud de elementen in een lijst willekeurig door elkaar.
import random
getallen = [1,2,3,4,5,6,7,8,9]
random.shuffle(getallen)
print(getallen)
# mogelijk resultaat
[8, 3, 9, 2, 1, 7, 6, 5, 4]