我正在使用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))
你怎么认为我可以解决这一问题?
非常感谢。
2017-09-24
NOK
+0
你使用Python 2或3吗? –