Slumpmässig#

Introduktion#

Random ger åtkomst till Pythons random modul, som är tillgänglig som standard i VEXcode AIM. 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 alla 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.

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

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

Nummergeneratorer#

randint#

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

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.

# Generate a random integer between
# 1 and 10 (inclusive)
random_int = random.randint(1, 10)
robot.screen.print(random_int)

# random_int = (random integer between 1 and 10)

uniform#

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

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)
robot.screen.print(random_uniform)

# random_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:
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)
robot.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)
robot.screen.print(random_range)

# random_range = (random integer from 5 to 14)

# Generate a random integer from
# 10 to 50, stepping by 5
random_range = random.randrange(10, 50, 5)
robot.screen.print(random_range)

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

random#

random returnerar ett slumpmässigt flyttal mellan 0,0 (inklusive) och 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()
robot.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, där antalet bitar är ett heltal mellan 0 och 32.

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)
robot.screen.print(random_bits)

# random_bits = (random integer between 0 and 255)

Urval#

choice#

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

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])
robot.screen.print(random_choice)

# random_choice = (randomly chosen number from the list)