Slumpmässig#

Introduktion#

Random ger åtkomst till Pythons urandom modul, som är tillgänglig som standard i VEXcode. Dessa metoder låter dig generera slumptal, flyttal och värden från listor eller intervall – användbara för att lägga till oförutsägbarhet i spel, beteenden och autonomt beslutsfattande.

Nedan följer en lista över tillgängliga metoder:

  • randint – Returnerar ett slumpmässigt heltal mellan två värden (inklusive).

  • uniform – Returnerar ett slumpmässigt flyttal mellan två värden.

  • randrange – Returnerar ett slumpmässigt heltal från ett intervall med ett valfritt steg.

  • seed – anger startvärdet för urandom:s pseudoslumptalsgenerator.

randint#

randint returnerar ett slumpmässigt heltal mellan två värden (inklusive), där båda värdena är heltal.

Usage:
urandom.randint(a, b)

Parameter

Beskrivning

a

Ett heltal som representerar den inkluderande nedre gränsen för intervallet.

b

Ett heltal som representerar den övre gränsen för intervallet.

# Generate a random integer between
# 1 and 10 (inclusive)
urandom_int = urandom.randint(1, 10)
brain.print(urandom_int)

# urandom_int = (random integer between 1 and 10)

enhetlig#

uniform returnerar ett slumpmässigt flyttal mellan två värden, där båda värdena är flyttal eller heltal.

Usage:
urandom.uniform(start, end)

Parameter

Beskrivning

start

Ett flyttal eller heltal som representerar intervallets nedre gräns.

end

Ett flyttal eller heltal som representerar intervallets övre gräns.

# Generate a random float 
# between 5.0 and 10.0
urandom_uniform = urandom.uniform(5.0, 10.0)
brain.print(urandom_uniform)

# urandom_uniform = (random float 
# between 5.0 and 10.0)

randrange#

randrange returnerar ett slumpmässigt heltal från ett intervall med ett valfritt steg, där både start- och stoppvärdena är heltal.

Usage:
urandom.randrange(start, stop, step)

Parameter

Beskrivning

start

Valfritt. Ett heltal som representerar det inkluderande startvärdet för intervallet. Standardvärdet är 0.

stop

Ett heltal som representerar det exklusiva slutvärdet i intervallet.

step

Valfritt. Ett heltal som representerar skillnaden mellan varje tal i intervallet. Standardvärdet är 1.

# Generate a random integer from
# 0 to 9 (exclusive of 10)
urandom_range = urandom.randrange(10)
brain.print(urandom_range)

# urandom_range = (random integer from 0 to 9)

# Generate a random integer from
# 5 to 15 (exclusive of 15)
urandom_range = urandom.randrange(5, 15)
brain.print(urandom_range)

# urandom_range = (random integer from 5 to 14)

# Generate a random integer from
# 10 to 50, stepping by 5
urandom_range = urandom.randrange(10, 50, 5)
brain.print(urandom_range)

# urandom_range = (random multiple of 5 between 10 and 45)

utsäde#

seed anger startvärdet för urandom:s pseudoslumptalsgenerator.

Om du inte anger ett frö kan ditt projekt producera samma slumpmässiga sekvens varje gång det startas.

För att få olika resultat på varje körning, ställ in fröet en gång i början av projektet med ett värde som ändras mellan körningarna – till exempel batteriavläsningar, ett timervärde eller en kombination av båda.

Usage:
urandom.seed(seed)

Parameter

Beskrivning

seed

Ett heltal som används för att starta den pseudoslumpmässiga sekvensen.

# Set a different seed each time the project starts
urandom.seed(int(brain.battery.current()))