Странный результат случайной прогулки в питоне 3?

Я только начинаю изучать python и у меня возникает проблема с печатью нового местоположения случайного блуждания в 3-х измерениях. Ошибка не появляется, но очевидно, что выводимые данные (x, y, z) неоправданны! При пошаговом моделировании случайного блуждания я предполагаю, что в каждый раз следует изменять только одно значение в (x, y, z). Но, похоже, не в выходной. Я пытаюсь отладить его, но все еще не могу понять, в чем реальная проблема.

Выходные заголовки:

(0,-1,1)
(-1,0,1)
(-2,0,1)
(-2,1,2)
(-2,2,2)
(-2,2,3)
(-1,2,3)
(0,1,3)

Моя мотивация:

Целью этого кода является моделирование N шагов случайного блуждания в 3 измерениях. На каждом шаге выбирается случайное направление (север, юг, восток, запад, вверх, вниз), и в этом направлении делается шаг размером 1. Новое местоположение тогда напечатано. Начальным местоположением является источник (0, 0, 0).

Мой код:

import pdb
import random  # this helps us generate random numbers
N = 30  # number of steps
n = random.random()  # generate a random number

x = 0
y = 0
z = 0
count = 0 
while count <= N:
  if n < 1/6:
      x = x + 1           # move east
      n = random.random() # generate a new random number
  if n >= 1/6 and n < 2/6:
      y = y + 1           # move north
      n = random.random() # generate a new random number
  if n >= 2/6 and n < 3/6:
      z = z + 1           # move up
      n = random.random() # generate a new random number
  if n >= 3/6 and n < 4/6:
      x = x - 1           # move west
      n = random.random() # generate a new random number
  if n >= 4/6 and n < 5/6:
      y = y - 1           # move south
      n = random.random() # generate a new random number
  if n >= 5/6:
      z = z - 1           # move down
      n = random.random() # generate a new random number

  print("(%d,%d,%d)" % (x,y,z)) 
  count = count + 1
print("squared distance = %d" % (x*x + y*y + z*z))

Среда:

Python 3.5 в ноутбуке Jupyter, Windows 10, Dell XPS 13

Ответы на вопрос(1)

Ваш ответ на вопрос