TypeError: объект типа "NoneType" не имеет len (), но список не является "NoneType" - PullRequest
0 голосов
/ 14 октября 2018

Я создаю список нулей в одной из моих функций, но когда я использую его как вход для другой функции, он возвращает две вещи, когда я печатаю его в другой функции:

Затем сам массив«Нет»

Откуда исходит «Нет»?

Разделы кода, используемые для отладки здесь:

#Value Iteration
#V_(k+1)(s) = max[sum(p(s',r|s,a)[r+(discount)V_k(s')]]
def val_it(maxCap, lineNum, cost, loss, pop_array, discount_rate):

  state_total = (maxCap+1)**lineNum #(M+1)^N total states

  values = [0]*state_total #returned values for each state of value iteration
  lines = [0]*lineNum #array for all lines of each state

  print(lines)
  print(len(lines))

  for state in range(state_total):
    action = nextState(state, state_total, values, lines, maxCap, cost, loss, pop_array, discount_rate)
    values[state] = np.max(action) #set value of this state to best action return
    #V_(k+1)(s) = MAX...

    #have new customers arrive at lines
    lines = add_cust(lineNum, pop_array, lines)

  return(values)

Теперь функция, которая возвращает «Нет»"type:

#calculate all next states
def nextState(state, state_total, values, lines, maxCap, cost, loss, pop_array, discount_rate):
  actions = [0]*state_total #actions for all states
  reward = 0

  print(lines)
  print(len(lines))

  prob = nextStateprob_calc(pop_array) #calculate probability
  reward = reward_calc(maxCap, lines, cost, loss) #calculate reward

  #find value iteration for given action
  for action in range(len(actions)):
    actions[action] += prob * (reward + discount_rate*values[state+1])
  return actions

Я с нетерпением жду ответа.

...