Reto de Python con Programación Orientada a Objetos

Sabemos que python tiene diferentes tipos de datos primitivos, pero también podemos crear nuestros propios "tipos de datos" usando la palabra clave class. También sabemos que existe una relación entre una clase y un objeto - creamos objetos cuando instanciamos una clase, encontramos la clase cuando comprobamos el type() de un objeto.

Vamos ahora a hacer un reto y repasar todos estos conceptos.

1- Defina una clase Student esto será nuestro modelo de datos para un instituto de educación superior.

2- Añada un constructor para el estudiante. Haz que el constructor tome dos parámetros: un name y un year. Guarda esos dos atributos como .name y .year.

3- Crea tres instancias de la clase estudiantes:

Guárdalos en las variables roger, sandro, y pieter.

4- Crea una nueva clase llamada grade, con minimum_passing como atributo establecido en 65.

5- Dale a Grade un constructor que toma un score como parámetro y asígnalo a self.score.

6- En el cuerpo del constructor para el estudiante, declara self.grades como una lista vacía.

7- Añada un método .add_grade() al estudiante que tome un parámetro, grade.

El método .add_grade() debe verificar que grade es de tipo Grade y, si es así, agregarla a .grades del Estudiante.

Si grade no es una instancia de Grade, entonces .add_grade() no debería hacer nada.

8- Crea un nuevo Grade con un score de 100 y añádelo al atributo .grades de Pieter usando .add_grade().

9- Buen trabajo! Has creado dos clases y definido sus interacciones. Esto es programación orientada a objetos!

Otras ideas para que implementes con este mismo código