Я пытаюсь измерить распределение величин общего смещения случайных блужданий - PullRequest
0 голосов
/ 04 ноября 2019

ошибка: «IndexError: индекс 1 выходит за пределы оси 0 с размером 1». Я не уверен, как это исправить, помогите, я очень плохо знаком с python

nsteps7 = 1

def randomwalk7(nsteps7):

    position = 0
    walk7 = [position]

    x = np.transpose(walk7)[0]
    y = np.transpose(walk7)[1]

    x, y = 0,0
    walk7x, walk7y = [x], [y]
    for i in range(nsteps7):

        val = random.randint(1,5)
        if val == 1:
            x += 1
        elif val == 2:
            y += 1
        elif val == 3:
            x += -1
        else:
            y += -1
        walk7x.append(x)
        walk7y.append(y)
    return[walk7x, walk7y]

numwalks7 = 5
walks7 = [randomwalk7(nsteps7) for i in range(numwalks7)]

plt.hist(walks7)

1 Ответ

0 голосов
/ 04 ноября 2019

Что вы хотите сделать со своим транспозицией? Здесь вы пытаетесь получить второй элемент списка y, который walk7 транспонирован, но в walk7 есть только один элемент. Таким образом, для этого конкретного случая у вас есть walk7 = y = [position] = 0

Поскольку вы хотите получить второй элемент списка размеров из 1 элемента: вы вышли за пределы

...