я следующий код:Локальная переменная ссылается прежде, чем Python
def popLast(aLinkedList):
ptr = aLinkedList
while ptr != None:
if ptr['next']['next'] == None and ptr['next'] != None:
del_node = ptr['data']
ptr['next'] = ptr['next']['next']
ptr = ptr['next']
return (del_node,ptr)
Когда я поставил
myLinkedList = createList(['a', 'b', 0, [1, 2]])
for i in range(getLength(myLinkedList)):
(a, myLinkedList) = popLast(myLinkedList)
print(a, end = ", new list: ")
printList(myLinkedList)
Он продолжает давать мне
UnboundLocalError: local variable 'del_node' referenced before assignment
Когда я только использую popLast(myLinkedList)
есть без проблем. Все работает нормально. Я не знаю, связано ли это с тем, что мой возвращающийся кортеж - проблема.
Ссылка на 'createlist' в вашем коде не указывается. Пожалуйста, дайте нам [Минимальный, полный и проверенный пример] (http://stackoverflow.com/help/mcve). –
Примечание: PEP8 предполагает, что вы должны использовать 'while ptr is not None' вместо' while ptr! = None'. – Phrogz