2015-05-05 8 views
0

Я создал функцию, которая принимает список чисел, подлежащих обратному обращению.TypeError: объект «NoneType» не подлежит подписке со списком

def getListBackward(number): 
    reversedNumbers = number[::-1] #line with error 
    ''' 
    code that does stuff with reversed numbers below 
    ''' 
EDIT: 

это функция, которая вызывает getListBakcward

def sumofreversed(numbers): 
    total = getListBackward(numbers) + otherlist(numbers) 
    return total 

я получил номера путем ввода данных пользователем и передал его в качестве параметра. Однако, я получаю эту ошибку:

TypeError: 'NoneType' object is not subscriptable 

Что я делаю не так? Как я могу это исправить?

+0

В качестве состояний трассировки число равно None. У вас есть еще какой-нибудь код, чтобы показать, что может помочь? – ODiogoSilva

+0

Опубликовать код, вызывающий эту функцию, похоже, что вы ошибочно передаете 'number'. – Loocid

+0

Ошибка в коде, который вызывает 'getListBackward' со значением, которое' None' вместо списка. Или, возможно, в коде, который вызывает 'getListBackward', который возвращает' None', или код, который его вызывает, и передает ему 'None'. Вы должны выяснить, где в вашем коде вы получили «Нет», когда ожидали список. – abarnert

ответ

0

Вы не вернули перевернутый список обратно вызываемый, и функция возвращает None в качестве значения по умолчанию, попытайтесь вернуть значение:

>>> def getListBackward(number): 
... return number[::-1] 
>>> def sumofreversed(numbers): 
... total = getListBackward(numbers) + [1,2,3] 
... return total 
>>> alist = [1,2,3,4,5] 
>>> print getListBackward(alist) 
[5, 4, 3, 2, 1] 
>>> print sumofreversed(alist) 
[5, 4, 3, 2, 1, 1, 2, 3] 

Будет нормально.

+0

Функция def getListBackward (число) уже возвращает список в конце. Вот почему я немного смущен, почему он дал мне эту ошибку. :( – vanillacoke9191

+0

Возможно ли, что вы дадите функции пустой список, чтобы она вернула '[]'? Просто распечатайте возвращаемое значение. –

+0

Я даже не думаю, что это возвращает какую-либо ценность, потому что она застряла на этой линии кода. = \ – vanillacoke9191

Смежные вопросы