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.
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 100randrange() 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.