Slumpmässig#

Introduktion#

Random ger åtkomst till Pythons random modul, som är tillgänglig som standard i VEXcode AIR. 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. För att börja använda dessa funktioner, lägg till import random högst upp i projektet.

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

Nummergeneratorer – Producerar direkt slumptal eller bitar.

  • 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.

  • random – Returnerar ett slumpmässigt flyttal mellan 0,0 (inklusive) och 1,0 (exklusive).

  • getrandbits – Returnerar ett heltal med ett angivet antal slumpmässiga bitar.

Val – Välj slumpmässigt element från sekvenser.

  • choice – Returnerar ett slumpmässigt element från en lista eller sekvens som inte är tom.

Tillståndskontroll – Hantera eller initiera tillståndet för slumptalsgeneratorn.

  • seed – Ställer in fröet för slumptalsgeneratorn för att producera deterministiska resultat.

Nummergeneratorer#

randint#

randint returnerar ett slumpmässigt heltal i intervallet a (inklusive) till b (inklusive).

Usage:
random.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.

# Pick a number from 0 to 100
random_int = random.randint(0, 100)
controller.screen.print(random_int)

#random_int = (random integer between 0-100)

uniform#

uniform returnerar ett slumpmässigt flyttal mellan start och end.

Usage:
random.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
random_uniform = random.uniform(5.0, 10.0)
controller.screen.print(random_uniform)

# random_uniform = (random float between 5.0 and 10.0)

randrange#

randrange returnerar ett slumpmässigt heltal från det angivna intervallet.

Usage:
random.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)
random_range = random.randrange(10)
controller.screen.print(random_range)

# random_range = (random integer from 0 to 9)

# Generate a random integer from
# 5 to 15 (exclusive of 15)
random_range = random.randrange(5, 15)
controller.screen.print(random_range)

# random_range = (random integer from 5 to 14)

random#

random returnerar ett slumpmässigt flyttal i intervallet 0,0 (inklusive) till 1.0 (exklusive).

Usage:
random.random()

Parameter

Beskrivning

Den här metoden har inga parametrar.

# Generate a random float between 0.0 and 1.0
random_float = random.random()
controller.screen.print(random_float)

# random_float = (random float between 0.0 and 1.0)

getrandbits#

getrandbits returnerar ett heltal med ett angivet antal slumpmässiga bitar.

Usage:
random.getrandbits(n)

Parameter

Beskrivning

n

Ett heltal som representerar antalet slumpmässiga bitar (0 <= n <= 32).

# Generate a random integer with 8 random bits
random_bits = random.getrandbits(8)
controller.screen.print(random_bits)

# random_bits = (random integer between 0 and 255)

Urval#

choice#

choice väljer och returnerar ett objekt slumpmässigt från en sekvens.

Usage:
random.choice(sequence)

Parameter

Beskrivning

sequence

En icke-tom sekvens (lista, tupel eller annat indexerbart objekt) från vilken ett slumpmässigt element väljs.

# Choose a random number from a list
random_choice = random.choice([10, 20, 30, 40, 50])
controller.screen.print(random_choice)

# random_choice = (randomly chosen number from the list)

Statlig kontroll#

seed#

seed initierar slumptalsgeneratorn och ställer in dess tillstånd så att slumpmässiga resultat kan reproduceras.

Usage:
random.seed(a=None)

Parameter

Beskrivning

a

Valfritt. Frövärdet. Kan vara ett heltal, flyttal, str, bytes eller bytearray. Om None (standard) används den aktuella systemtiden.

random.seed(42)

# Always return the same results
print(random.randint(1, 10))
print(random.random())