Python - Ejercicio de herencia a completar.

 
Vista:
sin imagen de perfil
Val: 58
Ha disminuido su posición en 2 puestos en Python (en relación al último mes)
Gráfica de Python

Ejercicio de herencia a completar.

Publicado por DANI (24 intervenciones) el 07/05/2021 12:21:08
Hola amig@s, muy buen día y feliz fin de semana.

Les comparto un ejerció bastante sencillo pero que para mi como programador que inicio en este mundo informático, se me escapa del alcance de mis conocimiento.
Les pido por favor que me ayuden si pueden, gracias.
Les aviso que me da error al ejecutar, no esta bien. Pero confió en sus conocimientos y averiguaran donde esta el error.
...............................................................................................................................................................................

Ejercicio de herencia

-Crea la superclase Personal_Universitario con un único atributo que sea un diccionario que incluya: "id",
"nombre" y "email"
-Crear la clases Oficina, Profesor y Alumno. Todas ellas heredaran de Personal_Universitario y heredaran sus
datos
-En el caso de Oficina, debe añadir a su diccionario de datos el dato "Puesto"
-En el caso de Profesor, debe añadir a su diccionario de datos el dato "Especialización"
-En el caso de Alumno, debe añadir a su diccionario de datos el dato "CreditosAprobados" (integer)
-Crear métodos que sirvan para mostrar la información de cada clase
-Crear objetos de todas las clases
-Mostrar la información de esos objetos y comprobar que sale lo que tiene que salir




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Identificación personal
 
class Personal_Universitario = {
    "id": "4386",
    "nombre": "Daniel",
    "email": "danicagil2000@email.com"
}
 
 
 
class Oficina(Personal_Universitario):
 
    pass
 
class Profesor(Personal_Universitario):
 
    pass
 
class Alumno(Personal_Universitario):
 
    pass
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
Val: 58
Ha disminuido su posición en 2 puestos en Python (en relación al último mes)
Gráfica de Python

Ejercicio de herencia a completar.

Publicado por DANI (24 intervenciones) el 07/05/2021 12:58:37
LES COMPARTO LA ACTUALIZACIÓN DEL EJERCICIO, YA VI DONDE ESTABA EL FALLO. PERO AHORA TENGO OTRO CON EL 'id'.
Como hago para continuar con el ejercicio sin que me de error.
Porque pongo 'id' para definir la clase Personal_Universitario. Pero me sale syntax error.
Te comparto el ejercicio.

..............................................................................................................................................................................................................................

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Identificación personal
 
class Personal_Universitario : {
    "id": "4386",
    "nombre": "Daniel",
    "email": "dani2000@email.com"
}
 
    def __init__(self, id, nombre, email)
 
class Oficina(Personal_Universitario):
 
    pass
 
class Profesor(Personal_Universitario):
 
    pass
 
class Alumno(Personal_Universitario):
 
    pass
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 katas
Val: 1.703
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Ejercicio de herencia a completar.

Publicado por katas (77 intervenciones) el 08/05/2021 09:41:46
Hola Dani, te he preparado el primero código para que te hagas una idea.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Personal_Universitario():
    datos = {
        "id": "4386",
        "nombre": "Daniel",
        "email": "danicagil2000@email.com"
    }
 
    def __init__(self):
        pass
 
class Oficina(Personal_Universitario):
 
    def addPuesto(self, puesto):
        self.datos["puesto"]=puesto
 
    def __str__(self):
        return f"{self.datos['id']} {self.datos['nombre']} {self.datos['email']} {self.datos['puesto']}"
 
oficina=Oficina()
oficina.addPuesto("secretaria")
print(oficina) # 4386 Daniel danicagil2000@email.com secretaria

Ya nos comentaras
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
sin imagen de perfil
Val: 58
Ha disminuido su posición en 2 puestos en Python (en relación al último mes)
Gráfica de Python

Ejercicio de herencia a completar.

Publicado por Dani (24 intervenciones) el 08/05/2021 18:48:50
Hola Katas, excelente muchas gracias.
Ya con el primer codigo que me has preparado puedo avanzar.
Ejecuta perfecto.

Saludos y que pasas un excelente fin de semana.
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
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Ejercicio de herencia a completar.

Publicado por tincopasan (1082 intervenciones) el 08/05/2021 12:45:00
hay muchas formas de hacer o interpretar el planteo,
por ejemplo :

1
2
Crea la superclase Personal_Universitario con un único atributo que sea un diccionario que incluya: "id",
"nombre" y "email"

para mí no tiene sentido establecer los datos que contiene el diccionario, ¿cuál sería el sentido de eso?
o sea el diccionario debe estar vacío y lo lleno al instanciar la clase

en el caso de:

1
En el caso de Oficina, debe añadir a su diccionario de datos el dato "Puesto"

dice añadir, no crear un método para ello, por lo tanto lo agrego sin usar un método

como el código es basicamente lo mismo con repeticiones solo haré uno, para que veas :


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
#-*- coding: utf -8 -*-
class  Personal_Universitario:
 
    def __init__(self,id,nombre,email):
        self.id=id
        self.nombre = nombre
        self.email = email
        self.diccionario = {}
        self.diccionario.setdefault("Id",self.id)
        self.diccionario.setdefault("Nombre",self.nombre)
        self.diccionario.setdefault("Email",self.email)
 
    def __str__(self):
        return f"""\
Id:     {self.id}
Nombre: {self.nombre}
Email:  {self.email}\
        """
 
class Oficina(Personal_Universitario):
 
    def __init__(self,id,nombre,email,puesto):
        Personal_Universitario.__init__(self,id,nombre,email)
        self.puesto = puesto
        self.diccionario["Puesto"] = self.puesto
 
    def __str__(self):
        return  f"""\
{Personal_Universitario.__str__(self)}
Puesto: {self.puesto}
        """
 
a1 = Oficina(4386,"Daniel","danicagil2000@email.com","Administración")
b1 = Oficina(1012,"yo","yo@gmail.com","Limpieza")
print(a1)
print(b1)
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
sin imagen de perfil
Val: 58
Ha disminuido su posición en 2 puestos en Python (en relación al último mes)
Gráfica de Python

Ejercicio de herencia a completar.

Publicado por Dani (24 intervenciones) el 08/05/2021 18:49:11
Hola tincopasan, excelente muchas gracias.
Ya con el primer codigo que me has preparado puedo avanzar.
La verdad que con esos dos detalles no había contado, es muy buena interpretación.
Ejecuta perfecto.

Saludos y que pasas un excelente fin de semana.
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