Herramientas de usuario

Herramientas del sitio


clase:iabd:pia:1eval:tema02

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
Próxima revisión Ambos lados, revisión siguiente
clase:iabd:pia:1eval:tema02 [2023/10/23 20:13]
admin [Ejercicios]
clase:iabd:pia:1eval:tema02 [2023/11/16 11:54]
admin [Estructuras de datos]
Línea 260: Línea 260:
  
  
-==== Estructuras de datos ====+===== Estructuras de datos =====
  
  
Línea 407: Línea 407:
 from tabulate import tabulate from tabulate import tabulate
  
-a=[  [5,0.7,0.765], [10,1.45,0.84], [20,2.678,0.978], [60,11.396,0.9973]  ]+datos=[  [5,0.7,0.765], [10,1.45,0.84], [20,2.678,0.978], [60,11.396,0.9973]  ]
  
  
-print(tabulate(a, headers=["Épocas", "Tiempo (s)", "Resultado"]))+print(tabulate(datos, headers=["Épocas", "Tiempo (s)", "Resultado"]))
 </sxh> </sxh>
  
Línea 422: Línea 422:
 </sxh> </sxh>
  
 +También podemos añadir una primera columna que sean también como "cabeceras". El siguiente anterior ejemplo se podría modificar de forma que en el array ''a'' solo estén los datos de tiempo y resultado y no las épocas ya que son como "cabeceras".
  
 +<sxh python>
 +from tabulate import tabulate
 +
 +datos=[  [0.7,0.765], [1.45,0.84], [2.678,0.978], [11.396,0.9973]  ]
 +epocas=[5,10,20,60]
 +
 +print(tabulate(datos, headers=["Épocas", "Tiempo (s)", "Resultado"],showindex=epocas))
 +
 +</sxh>
 +<sxh base>
 +  Épocas    Tiempo (s)    Resultado
 +--------  ------------  -----------
 +               0.7         0.765
 +      10         1.45        0.84
 +      20         2.678       0.978
 +      60        11.396       0.9973
 +</sxh>
  
-==== Estructuras de control ====+===== Estructuras de control =====
  
   * Condicional   * Condicional
Línea 500: Línea 518:
 </sxh> </sxh>
  
-==== Funciones ====+===== Funciones =====
  
   * Función que retorna un valor   * Función que retorna un valor
Línea 591: Línea 609:
 </sxh> </sxh>
  
-==== Medición de rendimiento ====+ 
 +===== Clases ===== 
 +Para crear clases en python: 
 +  * ''class'': Se crear la clase 
 +  * ''self'': Para referirse a propiedades y métodos del propio objeto, se pasa siempre como primer argumento en todos los métodos. 
 +  * ''%%__%%init%%__%%'': El nombre del constructor 
 +  
 + 
 +  * Vamos a crear la clase rectángulo 
 +<sxh python> 
 +class Rectangulo: 
 +    def __init__(self, longitud, ancho): 
 +        self.longitud = longitud 
 +        self.ancho = ancho 
 + 
 +    def calcular_area(self): 
 +        return self.longitud * self.ancho 
 + 
 +    def calcular_perimetro(self): 
 +        return 2 * (self.longitud + self.ancho) 
 +</sxh> 
 + 
 + 
 +  * Ahora vamos a usar la clase que hemos creado 
 +<sxh python> 
 +mi_rectangulo = Rectangulo(5, 10) 
 + 
 +print("Longitud:", mi_rectangulo.longitud) 
 +print("Ancho:", mi_rectangulo.ancho) 
 +print("Área:", mi_rectangulo.calcular_area()) 
 +print("Perímetro:", mi_rectangulo.calcular_perimetro())  
 +</sxh> 
 + 
 +<sxh base> 
 +Longitud: 5 
 +Ancho: 10 
 +Área: 50 
 +Perímetro: 30 
 +</sxh> 
 +===== Medición de rendimiento =====
  
 === timeit === === timeit ===
Línea 917: Línea 974:
 |  64, 128, 64, 8, 1  |  20 | |  64, 128, 64, 8, 1  |  20 |
 |  64, 128, 64, 8, 1  |  40 | |  64, 128, 64, 8, 1  |  40 |
 +
 +==== Ejercicio 20 ====
 +Crea una clase llamada ''CuentaBancaria''.
 +
 +La clase debe tener  los siguientes atributos:
 +
 +  * ''titular'': el titular de la cuenta.
 +  * ''saldo'': el saldo actual de la cuenta.
 +  * 
 +La clase debe tener los siguientes métodos:
 +  * ''%%__%%init%%__%%'': el método de inicialización que toma el titular como parámetro e inicializa el saldo en 0.
 +  * ''depositar'': un método que toma una cantidad como parámetro y la suma al saldo actual.
 +  * ''retirar'': un método que toma una cantidad como parámetro y la resta del saldo actual, pero verifica que haya suficiente saldo antes de realizar la operación.
 +  * ''obtener_saldo'': un método que devuelve el saldo actual de la cuenta.
 +
 +Usa la clase de forma que
 +  * Se cree un objeto
 +  * Se depositen 100€
 +  * Se retiren 75€.
 +  * Imprimas el titular y el saldo.
  
  
clase/iabd/pia/1eval/tema02.txt · Última modificación: 2024/01/06 12:03 por admin