Zufällig#

Einführung#

Random bietet Zugriff auf das Python-Modul urandom , das in VEXcode V5 standardmäßig verfügbar ist. Mit diesen Methoden können Sie Zufallszahlen, Gleitkommazahlen und Werte aus Listen oder Bereichen generieren – nützlich, um Spielen, Verhaltensweisen und autonomen Entscheidungsprozessen Unvorhersehbarkeit zu verleihen.

Nachfolgend finden Sie eine Liste der verfügbaren Methoden:

  • randint – Gibt eine zufällige ganze Zahl zwischen zwei Werten (einschließlich) zurück.

  • uniform – Gibt eine zufällige Gleitkommazahl zwischen zwei Werten zurück.

  • randrange – Gibt eine zufällige ganze Zahl aus einem Bereich mit optionaler Schrittweite zurück.

  • seed – setzt den Startwert für den Pseudozufallszahlengenerator von urandom.

randint#

randint gibt eine zufällige ganze Zahl zwischen zwei Werten (einschließlich) zurück, wobei beide Werte ganze Zahlen sind.

Usage:
urandom.randint(a, b)

Parameter

Beschreibung

a

Eine ganze Zahl, die die inklusive untere Grenze des Bereichs darstellt.

b

Eine ganze Zahl, die die inklusive obere Grenze des Bereichs darstellt.

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

# urandom_int = (random integer between 1 and 10)

Uniform#

uniform gibt eine zufällige Gleitkommazahl zwischen zwei Werten zurück, wobei beide Werte Gleitkommazahlen oder ganze Zahlen sind.

Usage:
urandom.uniform(start, end)

Parameter

Beschreibung

start

Eine Gleitkommazahl oder eine ganze Zahl, die die untere Grenze des Bereichs darstellt.

end

Eine Gleitkommazahl oder eine ganze Zahl, die die obere Grenze des Bereichs darstellt.

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

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

Randbereich#

randrange gibt eine zufällige ganze Zahl aus einem Bereich mit optionaler Schrittweite zurück, wobei sowohl der Start- als auch der Endwert ganze Zahlen sind.

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

Parameter

Beschreibung

start

Optional. Eine ganze Zahl, die den inklusiven Startwert des Bereichs angibt. Standardwert ist 0.

stop

Eine ganze Zahl, die den exklusiven Endwert des Bereichs darstellt.

step

Optional. Eine ganze Zahl, die die Differenz zwischen den einzelnen Zahlen im Bereich angibt. Standardwert ist 1.

# Generate a random integer from
# 0 to 9 (exclusive of 10)
urandom_range = urandom.randrange(10)
brain.screen.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.screen.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.screen.print(urandom_range)

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

Samen#

seed setzt den Startwert für urandom‘s Pseudozufallszahlengenerator.

Wenn Sie keinen Startwert festlegen, kann es passieren, dass Ihr Projekt bei jedem Start dieselbe Zufallssequenz erzeugt.

Um bei jedem Durchlauf unterschiedliche Ergebnisse zu erzielen, sollte der Startwert einmal zu Beginn des Projekts mit einem Wert festgelegt werden, der sich zwischen den Durchläufen ändert – beispielsweise mit Batteriemesswerten, einem Timerwert oder einer Kombination aus beidem.

Usage:
urandom.seed(seed)

Parameter

Beschreibung

seed

Eine ganze Zahl, die zum Starten der Pseudozufallsfolge verwendet wird.

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