Curso Python DGA 2011/inmersion python/ejercicios clase/ejercicios poo

De WikiEducator
Saltar a: navegación, buscar


Icon activity.jpg

Ejercicios iniciales con Clases

  1. Crea una clase Alumno
    • Un alumno tendrá tres atributos: nombre, apellido y una lista de notas, inicialmente vacía.
    • Crea un método para que cuando imprimas un objeto alumno, muestre su nombre y apellido con el formato: APELLIDO, Nombre
    • Crea un método pon_nota, que añada una nota a la lista de notas.
    • Crea un método nota_media, que devuelva la nota media del alumno.
    • Crea un método imprime_ficha, que muestre en pantalla todos los datos del alumno: Nombre, apellido, lista de notas y nota media.
    • Crea un método cmp_nombre, que permita compare dos alumnos por su apellido y nombre. Lo usaremos para ordenar una lista de alumnos.
    • Crea un método cmp_notas, que permita compare dos alumnos por su nota media. Lo usaremos para ordenar una lista de alumnos.
  2. Crea un objeto clase, que sea una lista de 5 alumnos.
    • Ordena la clase por orden alfabético.
    • Ordena la clase por nota media, de mejor a peor nota.
  3. Crea una clase Alumno_en_practicas que herede de alumno y tenga además el atributo de la empresa en la que hace las prácticas.
    • Modifica su método imprime_ficha para que imprima también el nombre de la empresa donde hace/hará las prácticas.






Icon activity.jpg

Ejercicios con graphics

Actividad basada en la actividad Homework 4 del curso 6-189-a-gentle-introduction-to-programming-using-python
PREVIO: Prepara un directorio para realiza el ejercicio y descarga dentro el archivo graphics.py de J. Zelle.
SOPORTE: Aquí tienes ayuda para manejar graphics: Ayuda Graphics

  1. Descarga la plantilla: plantilla ejercicio
  2. Revisa la plantilla que crea una rueda.
  3. Añade el método animate:
    class Wheel:
        def animate(self, win, dx, dy, n):
            if n > 0:
                self.move(dx, dy)
                win.after(100, self.animate, win, dx, dy, n-1)

    El método tiene 4 parámetros:

    • un objeto ventana
    • las unidades a donde mover el objeto en las direcciones x e y
    • el número de veces que hay que llamar al método animate
      El primer parámetro de animate son los milisegundos que hay que esperar entre llamadas.
  4. Escribe un programa que use la nueva clase Wheel y cree un objeto rueda y lo mueva 1 unidad en la dirección x 100 veces.
    Recuerda que tienes que dibujar la rueda antes de moverla
  5. Crea un archivo coche.py con el siguiente contenido:
    from graphics import *
    new_win = GraphWin("A Car", 300, 300)
    rect = Rectangle( Point( 10,10), Point(200, 100 ) )
    rect.setFill( "blue" )
    rect.draw( new_win )
    new_win.mainloop()
  6. Crea una clase Car que haga posible que funcione el siguiente código:
    new_win = GraphWin(’A Car’, 700, 300)
    # create a car object
    # 1st wheel centered at 50,50 with radius 15
    # 2nd wheel centered at 100,50 with radius 15
    # rectangle with a height of 40
     
    car1 = Car(Point(50, 50), 15, Point(100,50), 15, 40)
    car1.draw( new_win )
    # color the wheels grey with black tires, and the body pink
    car1.set_color(’black’, ’grey’, ’pink’ )
    # make the car move on the screen
    car1.animate(new_win, 1, 0, 400)
    new_win.mainloop()