LÄR DIG PYTHON

Random i Python - Generera ett slumptal i Python

Med standardmodulen random kan du skapa slumptal, till exempel för tärningskast och enkla spel. Du behöver inte installera något extra paket.

Slumpa ett heltal

import random

number = random.randint(1, 6)
print(number)

randint(1, 6) kan ge 1, 2, 3, 4, 5 eller 6. Båda gränserna ingår.

random.randint(1, 6) ger ett heltal från 1 till 6, exempelvis 4

Andra vanliga funktioner

import random

print(random.random())          # 0.0 <= värdet < 1.0
print(random.uniform(0, 10))    # Flyttal mellan 0 och 10
print(random.randrange(10))     # Heltal från 0 till och med 9
print(random.randrange(0, 101, 2))  # Ett jämnt heltal 0 till 100

randrange() använder samma intervallprincip som range: den övre gränsen ingår inte. För uniform() kan den övre gränsen ingå beroende på flyttalsavrundning.

Vad är skillnaden mellan random och Random?

random är modulen. random.Random är en klass för egna slumptalsgeneratorer. De enkla funktionerna i modulen använder redan en gemensam generator, så du behöver inte skapa en egen instans för exemplen ovan.

import random

generator = random.Random(42)
print(generator.randint(1, 6))

Ett fast frö kan göra experiment lättare att upprepa. Vanliga spel och övningar klarar sig med modulfunktionerna. För lösenord eller säkerhetstoken använder du i stället standardmodulen secrets.

Ett eget intervall

import random

lower_bound = -10
upper_bound = 10
number = random.randint(lower_bound, upper_bound)
print(number)

Resultatet ligger mellan -10 och 10, inklusive gränserna. För funktionerna som används här är heltalsvalen likformigt fördelade; modulen har även funktioner för andra fördelningar.