Forum >> Principianti >> NameError: name 'self' is not defined

Pagina: 1

Ciao a tutti,
sono agli inizi della programma in python qualcuno mi saprebbe aiutare a risolvere il seguente problema?

Definisco una classe di nome Solution che è in realtaà una classe fatta di oggetti di tipo lista

Definisco un metodo che mi permette di sommare due numeri che sono a loro contenuti in due liste "linkate".






class Solution:

def __init__(self):

self.head = None


def insert(self, data):

newNode = Node(data)

if(self.head):

current = self.head

while(current.next):

current = current.next

current.next = newNode

else:

self.head = newNode


def addTwoNumbers(self, lista1, lista2):

carry = 0

Current1 = lista1.head

Current2 = lista2.head

ResultCurrent = self.head

while (Current1.next != None and Current2.next != None ):

if (Current1.data)+(Current2.data) > 10:

datanew = Current1.data + Current2.data - 10 + carry

carry = 1

ResultCurrent.insert(datanew)

else:

datanew = Current1.data + Current2.data + carry

ResultCurrent.insert(datanew)

carry = 0

Current1 = Current1.next

Current2 = Current2.next

ResultCurrent = ResultCurrent.next






Nel main scrivo





result = Solution()


result.addTwoNumbers(self, LL1, LL2)




1) creo l'oggetto result della classe Solution

2) richiamo il metodo addTwoNumbers




Come mai ho l'errore per il self messo come argomento del metodo ?




Grazie a tutti

Walter


Walter, prima di ogni altra cosa, prima di chiedere aiuto o spiegazioni, metti a posto il codice.

L'indentazione non è opzionale in Python, ma è parte del linguaggio stesso. Per farlo usa il pulsante apposito, che trovi vicino ai colori durante la fase di inserimento, oppure rivolgiti a siti esterni come Pastebin o similari, e poi posta il link.



Ci si vede dopo la correzione.



Pagina: 1



Esegui il login per scrivere una risposta.