隨機的#

介紹#

Random 模組提供了對 Python random 的訪問,該模組在 VEXcode AIR 中預設可用。這些方法可以產生隨機數、浮點數以及來自清單或範圍的值——這對於為遊戲、行為和自主決策增加不可預測性非常有用。若要開始使用這些函數,請在專案頂部新增 import random。

以下是可用方法的清單:

數字產生器-直接產生隨機數或位元。

  • randint – 傳回兩個值(包含兩個值)之間的隨機整數。

  • uniform – 傳回兩個數值之間的隨機浮點數。

  • randrange – 傳回一個隨機整數,範圍為可選步長。

  • random – 傳回 0.0(含)到 1.0(不含)之間的隨機浮點數。

  • getrandbits – 傳回一個指定數量隨機位數的整數。

選擇-從序列中隨機選擇元素。

  • choice – 從非空列表或序列中傳回一個隨機元素。

狀態控制-管理或初始化隨機數產生器的狀態。

  • seed – 設定隨機數產生器的種子,以產生確定性結果。

數位產生器#

randint#

randint 返回一个随机整数,范围从 a(包含)到 b(包含)。

用法:
random.randint(a, b)

範圍

描述

a

表示範圍的包含下限的整數。

b

表示範圍上限的整數。

# 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 傳回介於 start 和 end之間的隨機浮點數。

用法:
random.uniform(start, end)

範圍

描述

start

表示範圍下限的浮點數或整數。

end

表示範圍上限的浮點數或整數。

# # 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 傳回指定範圍內的隨機整數。

用法:
random.randrange(start, stop, step)

範圍

描述

start

可選。一個整數,表示範圍的起始值(含)。預設值為 0。

stop

表示範圍的唯一結束值的整數。

step

可選。一個整數,表示範圍內每個數字之間的差異。預設值為 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 傳回 0.0(含)到 1.0(不含)範圍內的隨機浮點數。

用法:
random.random()

範圍

描述

此方法沒有參數。

# 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 傳回一個指定數量隨機位數的整數。

用法:
random.getrandbits(n)

範圍

描述

n

表示隨機位元數的整數 (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)

選擇#

choice#

choice 從序列中隨機選擇並傳回一個項目。

用法:
random.choice(sequence)

範圍

描述

sequence

從中選擇隨機元素的非空序列(清單、元組或其他可索引物件)。

# 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)

國家控制#

seed#

seed 初始化隨機數產生器,設定其狀態以便可以重現隨機結果。

用法:
random.seed(a=None)

範圍

描述

a

可選。種子值。可以是整數、浮點數、字串、位元組或位元組數組。如果為 None (預設值),則使用目前系統時間。

random.seed(42)

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