Linked List MR

Hi, im trying to create a basic LinkedList with different functions

class Data:
def init(self, code=None, name=None, contact=None):
self.code = code
self.name = name
self.contact = contact

class Node:
def init(self, data=None, next=None):
self.data = data
self.next = next

class LinkedList:
def init(self):
self.head = None

def create_node(self, data):
    node = Node(data, self.head)
    self.head = node

def check_code(self, code):
    head = self.head
    while head is not None:
        if head.data.code == code:
            return True
        head = head.next
    return False

def get_lenght(self):
    count = 0
    itr = self.head
    while itr:
        count+=1
        itr = itr.next
    return count

def insert_first(self, code, name, contact):
    if self.head is None:
        self.create_node(Data(code, name, contact))
    else:
        if not self.check_code(code):
            head = self.head
            self.create_node(Data(code, name, contact))
            while head.next is not None:
                head = head.next
            print('Your registration has been a success')
        else:
            print('The code is already in the list')

def insert_last(self, data):
    if self.head is None:
        self.head = Node(data, None)
        return
    itr = self.head
    while itr.next:
        itr = itr.next

    itr.next = Node(data, None)

def print(self):
    top = self.head
    i = 1
    if self.head is None:
        print("LinkedList Empty")
        return

    while top is not None:
        if top.next is None:
            print(
                f'{i}. ({top.data.code},{top.data.name},{top.data.contact})'
            )
        else:
            print(
                f'{i}. ({top.data.code},{top.data.name},{top.data.contact})\n'
            )
        i += 1
        top = top.next

itr = self.head

llstr = ‘’

while itr:

llstr += str(itr.data) + ‘–>>’

itr = itr.next

print(llstr)

if name == ‘main’:
ll = LinkedList()
ll.insert_first(26, ‘miguel’, 3155623743)
ll.insert_first(2645, ‘pipe’, 320523743)
ll.insert_first(2687, ‘gaby’, 3515623743)
ll.print()
print(f’lenght = {ll.get_lenght()}’)


class Informacion():

def __init__(self, codigo=None, nombre=None, telefono=None):
    self.codigo = codigo
    self.nombre = nombre
    self.telefono = telefono

class Nodo():

def __init__(self, objeto=None, siguiente=None):
    self.objeto = objeto
    self.siguiente = siguiente

class Lista():

def __init__(self):
    self.cabeza = None

def es_vacia(self) -> bool:
    return (self.cabeza is None)

def crear_lista(self, info):
    self.cabeza = Nodo(info)

def crear_nodo(self, info):
    self.nodo = Nodo(info)

def insertar_nodo_final(self, codigo, nombre, telefono):
    if (self.es_vacia()):
        self.crear_lista(Informacion(codigo, nombre, telefono))
    else:
        if (not self.validar_codigo(codigo)):
            top = self.cabeza
            self.crear_nodo(Informacion(codigo, nombre, telefono))
            while (top.siguiente != None):
                top = top.siguiente
            top.siguiente = self.nodo
            print('Registro ingestado de manera exitosa.')
        else:
            print('El codigo ya se encuentra en la lista.')

def insertar_nodo_inicio(self, codigo, nombre, telefono):
    if (self.es_vacia()):
        self.crear_lista(Informacion(codigo, nombre, telefono))
    else:
        if (not self.validar_codigo(codigo)):
            top = self.cabeza
            self.crear_nodo(Informacion(codigo, nombre, telefono))
            self.cabeza = self.nodo
            self.cabeza.siguiente = top
        else:
            print('El codigo ya se encuentra en la lista.')

def validar_codigo(self, codigo):
    top = self.cabeza
    while (top != None):
        if top.objeto.codigo == codigo:
            return True
        top = top.siguiente
    return False

def mostrar_lista(self):
    top = self.cabeza
    i = 1
    if(self.es_vacia()):
        print('La lista se encuentra vacia.')
    while (top != None):
        if (top.siguiente is None):
            print(
                f'{i}. ({top.objeto.codigo}, {top.objeto.nombre}, {top.objeto.telefono})')
        else:
            print(
                f'{i}. ({top.objeto.codigo}, {top.objeto.nombre}, {top.objeto.telefono})', end='=>')
        i += 1
        top = top.siguiente

def actualizar_registro(self, codigo):
    if (self.es_vacia()):
        print('La lista esta vacia, ingrese registos.')
    else:
        top = self.cabeza
        while (top.siguiente != None and top.objeto.codigo != codigo):
            top = top.siguiente
        if(top.objeto.codigo == codigo):
            top.objeto.nombre = input('Ingrese el nuevo nombre: ')
            top.objeto.telefono = input('Ingrese el nuevo telefono: ')
        else:
            print('El codigo ingresado no existe.')

def eliminar_nodo(self, codigo):
    if (self.es_vacia()):
        return('La lista esta vacia, no hay registros para eliminar.')
    else:
        curr = self.cabeza
        while (curr.siguiente != None and curr.objeto.codigo != codigo):
            prv = curr
            curr = curr.siguiente
            nxt = curr.siguiente
            if curr.objeto.codigo == codigo:
                prv.siguiente = nxt
                return('El registro se ha eliminado correctamente.')
        if curr.objeto.codigo == codigo:
            self.cabeza = None
            return('El registro se ha eliminado correctamente.')
        else:
            return('El codigo a eliminar no existe')

def main():
lista = Lista()
x = 1
while (x != 5):
print(f’’’>>>>>>>Ingrese una opcion de las siguientes:<<<<<<<
1. Ingresar un nuevo registro.
2. Visualizar toda la información de la cola.
3. Eliminar un registro.
4. Actualizar un registro.
5. Salir.’’’)
x = input('Opcion: ')
if x == ‘1’: #Ingresar nuevo registro
codigo = input('Ingrese el codigo unico del registro: ')
nombre = input(‘Ingrese el nombre: ‘)
telefono = input(‘Ingrese el telefono: ‘)
lista.insertar_nodo_final(codigo, nombre, telefono)
elif x == ‘2’: #Ver toda la informacion de la cola
print(’’)
lista.mostrar_lista()
print(’’)
elif x == ‘3’: #Eliminar un registro
codigo = input(‘Ingrese el codigo que desea eliminar: ‘)
print(lista.eliminar_nodo(codigo))
elif x == ‘4’: #Actualizar un registro
codigo = input(‘Ingrese el codigo que desea actualizar: ‘)
lista.actualizar_registro(codigo)
elif x == ‘5’: #Finalizar
print(’\nProceso finalizado exitosamente.\n’)
else:
print(’\nIngrese una opcion valida.\n’)

if name == ‘main’:
main()

Please format your code properly by using the </> button in the formatting toolbar.

And why are you posting your code here?