Introducción a Python y Google Colab
Introducción a Python y Google Colab
Profesorado:
Kevin Ivan Barrera
[Link]@[Link]
Presencial, 07/10/2025
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
Bloque 2
Introducción
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
¿Qué es Python?
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
¿Qué es Python?
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
En este curso Ú
Usaremos Google Colab ò , un entorno en la nube que combi-
na código, texto e imágenes, y nos permitirá ejecutar programas
en Python sin instalaciones.
5
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
Nota Ú
Tu cuaderno se guardará automáticamente en Google Drive. Po-
drás acceder a él en cualquier momento desde cualquier dispo-
sitivo con la misma cuenta de Google.
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
10
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
11
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
12
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
13
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
14
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
Uso de # en Markdown
■ # Título principal → crea un título grande.
■ ## Sección → subtítulo.
■ ### Subsección → título más pequeño.
Nota Ú
Los títulos creados con # se muestran también en el índice del
cuaderno, lo que facilita la navegación entre secciones.
15
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
16
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
Recomendación Ú
Para aprovechar al máximo Google Colab:
■ Alterna siempre celdas de texto y celdas de código.
■ Usa las celdas de texto para explicar la intención del código,
añadir contexto o documentar resultados.
■ Usa las celdas de código para mostrar ejecuciones claras y
concisas, con comentarios que ayuden a comprenderlas.
■ De esta forma, tu cuaderno será un documento ordenado,
entendible y reproducible, útil tanto para tu propio estudio
como para compartir con compañeros o en proyectos
profesionales.
17
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
Actividad .
18
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
Bloque 2
Comandos básicos
19
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
1 edad = 25 # int
2 altura = 1 .75 # float
3 nombre = " Kevin " # str
4 activo = True # bool
Nota Ú
La almohadilla # se utiliza para escribir comentarios en el có-
digo. Estos no se ejecutan y sirven para explicar qué hace cada
parte del programa.
20
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
1 # Definir variables
2 a = 10
3 b = 5
4 c = a + b # suma de a y b
Nota Ú
Las variables se crean en el momento de la asignación. Python
detecta automáticamente si son números, cadenas de texto,
etc.
21
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
22
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
1 a = 10
2 b = 5
3
4 # Solo texto
5 print ( " Hola , UPC " )
6
7 # Solo variable
8 print ( a )
9
10 # Texto + variable
11 print ( " El valor de b es : " , b )
12
13 # Texto + variables
14 print ( " La suma de a y b es : " , a + b )
23
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
Actividad 1 .
24
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
En Python usaremos:
Suma
1 a , b = 10 , 3
2 c = a + b # suma
3 print ( c )
Resta
1 a , b = 10 , 3
2 c = a - b # resta
3 print ( c )
Multiplicación
1 a , b = 10 , 3
2 c = a * b # multiplicación
3 print ( c )
25
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
División real
1 a , b = 10 , 3
2 c = a / b # división real (float)
3 print ( c )
División entera
1 a , b = 10 , 3
2 c = a // b # división entera (cociente)
3 print ( c )
Módulo
1 a , b = 10 , 3
2 c = a % b # módulo (resto)
3 print ( c )
26
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
Potencia
1 a , b = 10 , 3
2 c = a ** b # potencia
3 # c = a ^ b # NO ES POTENCIA, ES XOR
4 print ( c )
27
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
28
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
29
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
30
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
Actividad 2 .
Respuesta Ú
214.685
31
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
Bloque 2
Estructuras de datos
32
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
1 # Definición de cadenas
2 nombre = " UPC "
3 mensaje = ' Hola Python '
4
5 print ( nombre ) # Imprime: UPC
6 print ( mensaje ) # Imprime: Hola Python
33
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
Operaciones básicas:
■ Concatenación con +
■ Repetición con *
■ Indexación y slicing
34
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
35
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
Booleanos:
Un valor booleano ò es un tipo de dato en Python que solo
puede tener dos valores: True o False.
Operadores de comparación:
Devuelven un resultado booleano (True/False).
1 x , y = 10 , 20
2 print ( x == y ) # Igualdad
3 print ( x != y ) # Diferente
4 print ( x < y ) # Menor que
5 print ( x <= y ) # Menor o igual
6 print ( x > y ) # Mayor que
7 print ( x >= y ) # Mayor o igual
36
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
Operadores lógicos:
Permiten combinar valores booleanos.
1 llueve = True
2 hay_viento = False
3
4 print ( llueve and hay_viento ) # AND: ambos deben ser True
5 print ( llueve or hay_viento ) # OR: al menos uno True
6 print ( not llueve ) # NOT: invierte valor
Comparación de cadenas:
Se hace por orden alfabético.
1 print ( " abc " < " abd " ) # True, ‘abc’ va antes que ‘abd’
37
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
Actividad 3 .
■ Crea una celda + Texto con el título:
# Actividad 3.
■ Define una cadena con tu nombre completo.
■ Imprime el texto en: - Minúsculas - Mayúsculas - Formato título
■ Extrae e imprime los tres primeros caracteres.
■ Reemplaza tu primer nombre por Python.
■ Compara tu cadena original con "ZZZZZZZZ"): - ¿Es mayor o
menor en orden alfabético?
38
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
39
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
Operaciones básicas:
■ Indexación y slicing
■ Concatenación con +
■ Repetición con *
40
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
41
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
Listas anidadas:
Una lista puede contener otras listas. Son útiles para
representar tablas o matrices en Python.
42
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
43
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
Funciones básicas:
Python incluye funciones integradas para obtener información
de una lista:
■ len() → devuelve la longitud de la lista.
■ min() → devuelve el mínimo valor.
■ max() → devuelve el máximo valor.
■ .index() → devuelve la posición (índice) de un valor en la lista.
■ average: no existe como función integrada, pero puede calcularse con
sum(lista)/len(lista), con [Link](lista), o con
[Link](lista).
44
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
45
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
Nota Ú
NumPy ò es la librería más utilizada en Python para el cálculo
numérico. Ofrece estructuras de datos eficientes (arrays mul-
tidimensionales) y operaciones vectorizadas que son mucho
más rápidas que las listas nativas de Python.
Se emplea en la mayoría de aplicaciones de ingeniería y ciencia
de datos porque:
■ Maneja grandes volúmenes de datos de forma eficiente.
■ Está optimizada en C para cálculos rápidos.
■ Incluye funciones matemáticas avanzadas (mean, std, dot, fft).
■ Es la base de librerías como Pandas, SciPy, Scikit-learn y
TensorFlow.
46
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
1 import numpy as np
2 vector = np . array ([1 , 2 , 3 , 4])
3 matriz = np . array ([[1 , 2] , [3 , 4]])
4 print ( vector )
5 print ( matriz )
47
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
Actividad 4 .
■ Crea una lista vib_mm_s con lecturas de vibración (mm/s) de un
aerogenerador: [2.1, 2.3, 2.2, 5.8, 2.4, 2.5]
■ Añade dos nuevas lecturas (2.6 y 150.1) con append o extend.
Imprime la lista actualizada.
■ El sensor falló en la última lectura: elimina el último valor con
pop. Imprime la lista corregida.
■ Calcula y muestra (imprime) a partir de la lista corregida:
• Longitud de la lista
• Valor mínimo y máximo
• Índice del valor máximo
• Promedio de las lecturas usando NumPy
48
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
Bloque 2
Estructuras de datos
49
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
Definición:
Un diccionario ò en Python almacena información en pares
clave => valor.
■ Las claves son únicas e inmutables (str, int, tuple).
■ Los valores pueden ser de cualquier tipo (números, cadenas, listas).
50
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
51
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
Diccionarios anidados:
Un valor puede ser otro diccionario. Esto permite representar
estructuras complejas (ej. múltiples sensores).
1 aerogenerador = {
2 " WT -07 " : { " ubicacion " : " carcasa " ,
3 " vib_mm_s " : [2.1 , 2.3]} ,
4 " WT -08 " : { " ubicacion " : " tower " ,
5 " vib_mm_s " : [1.8 , 2.0]}
6 }
7
8 print ( aerogenerador [ " WT -07 " ][ " ubicacion " ]) # carcasa
9 print ( aerogenerador [ " WT -08 " ][ " vib_mm_s " ]) # [1.8, 2.0]
52
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
Matplotlib y diccionarios
Matplotlib: ò
Es la librería más usada en Python para la visualización de
datos. Permite generar gráficos de:
■ Líneas (series temporales).
■ Barras y sectores.
■ Histogramas y dispersión.
■ Mapas de calor e imágenes.
Módulo principal: [Link] suele importarse con la
abreviatura plt.
1 import matplotlib . pyplot as plt
53
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
Sintaxis general:
[Link](x, y, opciones) dibuja una curva de y frente a x.
Nota: Ú
Por defecto, se dibuja una línea azul continua.
54
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
55
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
1 [Link] (t , y , marker = " o " , linestyle = " --" , color = " r " ,
label = " signal " )
2 # Curva con puntos, línea discontinua y color rojo
3 [Link] ( " Ejemplo de signal " ) # Título del gráfico
4 [Link] ( " Tiempo ( s ) " ) # Etiqueta del eje X
5 [Link] ( " Valor " ) # Etiqueta del eje Y
6 [Link] () # Muestra la leyenda definida en label
7 [Link] ( True ) # Activa la cuadrícula
8 [Link] () # Muestra el gráfico en pantalla
56
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
57
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
58
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
59
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
Actividad 5 .
60
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
Actividad 5 .
■ Crea un diccionario sensor con el ID del aerogenerador (Clave
“id”), el vector de tiempo (Clave “t”) y la señal de vibración (Clave
“vib_mm_s”).
■ Imprime el diccionario
■ Calcula el promedio de vibración con NumPy.
■ Visualiza la señal con plot mostrando título, ejes y cuadrícula.
Respuesta Ú
Promedio de vibración: 2.011775663033031
61
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
62
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01
Introducción Comandos básicos Estructuras Diccionarios
63
Plan de Recuperación, Transformación y Resiliencia – Financiado por la Unión Europea – Next Generation EU. Componente 21, inversión 6, C21.I06.P02.S04.S05. PROVISIONAL.SI01