Python - sugerencia con mi codigo de eliminacion de atributo

 
Vista:
sin imagen de perfil

sugerencia con mi codigo de eliminacion de atributo

Publicado por oscar (3 intervenciones) el 26/02/2022 04:55:06
Una consulta como puedo definir bien la funcion def eliminar(): de mi programa(codigo), quisiera eliminar todos los atributos guardados cuando uso la funcion de registrar. El programa si corre, puedo registrar y las funciones de registro, monstrar y buscar estan funcionando con normalidad , pero no consigo eliminar los atributos que mi programa guarda, Alguien me puede sugerir como puedo modificar el codigo de la funcion def eliminar para eliminar los objetos guardados?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
import os
 
RP=1
CP=2
ED=3
LR=4
EP=5
Sal=6
 
lista=list()
 
class Personas:
    def __init__(self):
        self.nID=( )
        self.nombre=(" ")
        self.edad=( )
        self.profesion=(" ")
 
 
def monstrar_menu():
    print(f'''   menu presentado
    {RP}) Registrar personal
    {CP}) Consultar personal
    {ED}) Editar datos del personal
    {LR}) Listar personal registrado
    {EP}) Eliminar personal
    {Sal}) Salir
        ''')
 
def registrar():
    persona=Personas()
    print()
    persona.nID=int(input("introduce el nuevo nID del personal: "))
    persona.nombre = input("introduce el nuevo nombre del personal: ")
    persona.edad = input("introduce la nueva edad del personal: ")
    persona.profesion= input("introduce la nueva profesion del personal: ")
    lista.append(persona)
 
def monstrar():
 
    for persona in lista:
        print("El nID del personal es ", persona.nID, " ,su nombre es ", persona.nombre, ", su edad es " , persona.edad, " , y su profesion es " , persona.profesion)
 
def buscar():
    print("Sistema de busqueda por nID del personal")
    nID1=int(input("Ingrese el nID del personal buscado: "))
    for persona in lista:
        if persona.nID == nID1:
            print("Los datos de la persona consultada con el nID ", persona.nID, "son nombre: "  ,persona.nombre, " ,edad: " , persona.edad , " ,profesion: " , persona.profesion)
 
def eliminar():
    print("Sistema de eliminacion por nID del personal")
    nID = input("Ingrese el nID del personal que desea eliminar: ")
    for i in range(len(nID)-1,-1,-1):
        if nID[i] == nID:
            nID.pop(i)
            nombre.pop(i)
            edad.pop(i)
            profesion.pop(i)
 
    print("Se elimino el personal deseado")
 
continuar= True
while continuar:
    os.system("cls")
    monstrar_menu()
    opc=int(input("Seleccione un numero por favor: "))
    if opc == RP:
        os.system("cls")
        print ("Sistema de registro del Personal")
        print()
        registrar()
 
 
    elif opc == CP:
        os.system("cls")
        print("Sistema de busqueda por nID del personal")
        buscar()
 
    elif opc == ED:
        os.system("cls")
        print("Sistema de edicion de registros del personal")
 
 
    elif opc == LR:
        os.system("cls")
        print("Sistema de Visualizacion de datos del personal")
        monstrar()
 
    elif opc == EP:
        os.system("cls")
        print("Sistema de eliminacion de datos del personal")
        eliminar()
 
    elif opc == Sal:
        continuar = False
    else:
        print("Gracias por usar el sistema, que tenga un buen dia")
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

sugerencia con mi codigo de eliminacion de atributo

Publicado por oscar (3 intervenciones) el 26/02/2022 05:17:06
estoy intentando con esto:

1
2
3
def eliminar():
    print("Sistema de eliminacion por nID del personal")
    lista.clear()

si me limpia la lista, pero quisiera eliminar selectivamente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de 7aamin
Val: 11
Ha disminuido su posición en 6 puestos en Python (en relación al último mes)
Gráfica de Python

sugerencia con mi codigo de eliminacion de atributo

Publicado por 7aamin (117 intervenciones) el 26/02/2022 06:20:02
Al estar declarando tuplas como objetos de almacenamiento, no puedes eliminar, ya que las tuplas son INMUTABLES.. cambia las tuplas por listas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar