我正在使用Python 3.我的代碼嘗試在3維中模擬random walk的N個步驟。在每個步驟中,選擇一個隨機方向(北,南,東,西,上,下),每個方向有1/6的概率,並在該方向上採用大小爲1的步驟。然後打印新的位置。起始位置是原點(0,0)。在Python中模擬隨機遊走
即使沒有錯誤消息,代碼也不起作用。我們應該移動只有一步x,y或z。然而,在結果中,我發現有時候我根本不動,有時候我會向一個以上的方向移動。
這裏是我的代碼:
import random
N = 30
n = random.random()
x = 0
y = 0
z = 0
count = 0
while count <= N:
if n < 1/6:
x = x + 1
n = random.random()
if n >= 1/6 and n < 2/6:
y = y + 1
n = random.random()
if n >= 2/6 and n < 3/6:
z = z + 1
n = random.random()
if n >= 3/6 and n < 4/6:
x = x - 1
n = random.random()
if n >= 4/6 and n < 5/6:
y = y - 1
n = random.random()
if n >= 5/6:
z = z - 1
n = random.random()
print("(%d,%d,%d)" % (x,y,z))
count = count + 1
print("squared distance = %d" % (x*x + y*y + z*z))
你怎麼認爲我可以解決這一問題?
非常感謝。
你使用Python 2或3嗎? –