TypeError: объект 'NoneType' не повторяется от новичка - PullRequest
0 голосов
/ 18 мая 2018

У меня есть фрагмент кода с сообщением об ошибке в следующей строке

Сбросить корзину - это функция, показанная ниже.Может кто-нибудь сказать, пожалуйста, как я могу это исправить?

[pre_s, s, pre_a, a, x, x_dot, theta, theta_dot] = reset_cart(beta)    # reset the cart pole to initial state

TypeError: объект 'NoneType' не повторяется

[pre_s, s, pre_a, a, x, x_dot, theta, theta_dot] = reset_cart(beta)
def reset_cart(beta):
pre_s=1
s=1
pre_a=-1  
a=-1   


x = 0
x_dot = 0
theta = 0
theta_dot = 0.01

1 Ответ

0 голосов
/ 18 мая 2018

Вам не хватает ключевой части вашей функции reset_cart: Возврат.

Прямо сейчас, когда ваша функция reset_cart завершается, все эти переменные, которые она только что установила, исчезают, потому что им никогда не назначались значения.вне функции.Основной способ получить значения из функции в любое место, где вы хотите их использовать, - вернуть их с помощью оператора return.

В этом случае вы пытаетесь установить для этих 8 элементов значения, указанные вфункции, поэтому возвращаем список, содержащий эти 8 элементов:

def reset_cart(beta):

    pre_s=1
    s=1
    pre_a=-1  #the agent is taking no action
    a=-1

    x = 0
    x_dot = 0
    theta = 0
    theta_dot = 0.01
    return [pre_s, s, pre_a, a, x, x_dot, theta, theta_dot]

Для получения дополнительной информации о возвращаемых переменных и областях переменных см .:

Какова цельВозврат выписки?

...