Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
clase:iabd:pia:1eval:tema02 [2023/10/23 20:13] admin [Ejercicios] |
clase:iabd:pia:1eval:tema02 [2024/01/06 12:03] (actual) admin [Poetry] |
||
---|---|---|---|
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, | + | datos=[ [5, |
- | print(tabulate(a, headers=[" | + | print(tabulate(datos, headers=[" |
</ | </ | ||
Línea 422: | Línea 422: | ||
</ | </ | ||
+ | También podemos añadir una primera columna que sean también como " | ||
+ | <sxh python> | ||
+ | from tabulate import tabulate | ||
+ | |||
+ | datos=[ | ||
+ | epocas=[5, | ||
+ | |||
+ | print(tabulate(datos, | ||
+ | |||
+ | </ | ||
+ | <sxh base> | ||
+ | Épocas | ||
+ | -------- | ||
+ | | ||
+ | 10 | ||
+ | 20 | ||
+ | 60 11.396 | ||
+ | </ | ||
- | ==== Estructuras de control ==== | + | ===== Estructuras de control |
* Condicional | * Condicional | ||
Línea 500: | Línea 518: | ||
</ | </ | ||
- | ==== Funciones ==== | + | ===== Funciones |
* Función que retorna un valor | * Función que retorna un valor | ||
Línea 591: | Línea 609: | ||
</ | </ | ||
- | ==== Medición de rendimiento ==== | + | |
+ | ===== Clases ===== | ||
+ | Para crear clases en python: | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | |||
+ | * Vamos a crear la clase rectángulo | ||
+ | <sxh python> | ||
+ | class Rectangulo: | ||
+ | def __init__(self, | ||
+ | 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) | ||
+ | </ | ||
+ | |||
+ | |||
+ | * Ahora vamos a usar la clase que hemos creado | ||
+ | <sxh python> | ||
+ | mi_rectangulo = Rectangulo(5, | ||
+ | |||
+ | print(" | ||
+ | print(" | ||
+ | print(" | ||
+ | print(" | ||
+ | </ | ||
+ | |||
+ | <sxh base> | ||
+ | Longitud: 5 | ||
+ | Ancho: 10 | ||
+ | Área: 50 | ||
+ | Perímetro: 30 | ||
+ | </ | ||
+ | ===== Medición de rendimiento | ||
=== timeit === | === timeit === | ||
Línea 636: | Línea 693: | ||
Mas información: | Mas información: | ||
* [[https:// | * [[https:// | ||
+ | |||
+ | ===== Poetry ===== | ||
+ | A veces no quieremos usar conda sino tener una carpeta con todo lo que necesita el proyecto, al estilo de //NodeJS//. En ese caso podemos usar una herramienta llamada [[https:// | ||
+ | |||
+ | * Instalar poetry | ||
+ | <sxh bash> | ||
+ | pip install --user poetry | ||
+ | </ | ||
+ | |||
+ | * Comprobar que tenemos poetry instalado | ||
+ | |||
+ | <sxh bash> | ||
+ | poetry --version | ||
+ | </ | ||
+ | |||
+ | * Para decir que las librerías se instalen en nuestra propia carpeta del proyecto. | ||
+ | <sxh bash> | ||
+ | poetry config virtualenvs.in-project true | ||
+ | </ | ||
+ | |||
+ | * Para tener un proyecto con python y todas sus dependencias en la misma carpeta haremos lo siguiente: | ||
+ | <sxh bash> | ||
+ | poetry init | ||
+ | poetry add libclang = "< | ||
+ | poetry install | ||
+ | </ | ||
+ | |||
+ | <note important> | ||
+ | Si al hacer el '' | ||
+ | '' | ||
+ | deberemos crear la siguiente variable de entorno: | ||
+ | '' | ||
+ | </ | ||
+ | |||
+ | Para ejecutar el código hay 2 formas: | ||
+ | |||
+ | * Desde la línea de comandos: | ||
+ | <sxh python> | ||
+ | poetry run python my_script.py | ||
+ | </ | ||
+ | |||
+ | * Desde VS Code seleccionar en los entornos de ejecución la carpeta '' | ||
+ | {{ : | ||
+ | |||
+ | * Si queremos usar el entorno de poetry pero no está en nuestra carpeta se puede indicar a VS Code cual es el ejecutable de python que debe usar siempre para ello hay que crear en la carpeta de nuestro proyecto el fichero '' | ||
+ | |||
+ | <sxh base> | ||
+ | { | ||
+ | " | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
===== Ejercicios ===== | ===== Ejercicios ===== | ||
Línea 917: | Línea 1027: | ||
| 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 '' | ||
+ | |||
+ | La clase debe tener los siguientes atributos: | ||
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | * | ||
+ | La clase debe tener los siguientes métodos: | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | Usa la clase de forma que | ||
+ | * Se cree un objeto | ||
+ | * Se depositen 100€ | ||
+ | * Se retiren 75€. | ||
+ | * Imprimas el titular y el saldo. | ||