Fundamentos de Programación y Python

1

¿Por qué aprender Python?

2

Introducción a Python

3

Conceptos Básicos de Programación

4

Práctica: Te doy la bienvenida a los ejercicios interactivos

5

Manipulación de Cadenas de Texto en Python

6

Enteros, Flotantes y Booleanos

7

Todo lo que Debes Saber sobre print en Python

8

Operaciones Matemáticas en Python

9

Operaciones de Entrada/Salida en Consola

Colección y Procesamiento de Datos en Python

10

Listas

11

Método slice

12

Listas de más dimensiones y Tuplas

13

Aplicación de Matrices

14

Diccionarios

15

Comprehension Lists en Python (CLASE NUEVA)

Control de Flujo en Python

16

Estructuras condicionales

17

Bucles y Control de Iteraciones

18

Generadores e Iteradores

Funciones y Manejo de Excepciones en Python

19

Uso de Funciones en Python

20

Funciones Lambda y Programación Funcional en Python

21

¿Cómo realizar una función recursiva en Python?

22

Manejo de Excepciones y Uso de Pass (CLASE NUEVA)

Programación Orientada a Objetos en Python

23

Fundamentos de Programación Orientada a Objetos en Python

24

Ejercicio Biblioteca con POO

25

Herencia en POO con Python

26

Objetos heredados

27

Los 4 pilares de la programacion orientada a objetos

28

Uso de super() en Python (CLASE NUEVA)

29

Superando los Fundamentos de Programación Orientada a Objetos en Python

Lectura y escritura de archivos

30

Manejo de Archivos .TXT (CLASE NUEVA)

31

Manejo de Archivos CSV (CLASE NUEVA)

32

Manejo de Archivos JSON (CLASE NUEVA)

Biblioteca estándar de Python

33

Biblioteca estándar en Python (CLASE NUEVA)

34

Librería Os, Math y Random (CLASE NUEVA)

35

Librería Statistics y Análisis Estadístico (CLASE NUEVA)

36

Proyecto final: Guerra naval

Conceptos avanzados de Python

37

Recapitulación de lo aprendido hasta ahora

38

Escribir código Pythonico y profesional

39

Comentarios y Docstrings en Python

40

Scope y closures: variables locales y globales

41

Anotaciones de tipo

42

Validación de tipos en métodos

43

Librería Collections y Enumeraciones

Decoradores

44

Decoradores en Python

45

Decoradores anidados y con parámetros

46

Uso de Decoradores en clases y métodos

Métodos y estructura de clases en Python

47

Métodos mágicos

48

Sobrecarga de operadores

49

Implementación de `if __name__ == "__main__":`

50

Metaprogramación en Python

51

Uso de *args y **kwargs

52

Métodos privados y protegidos

53

Gestión avanzada de propiedades

54

Métodos estáticos y de clase avanzados

Programación concurrente y asíncrona

55

Introducción a la concurrencia y paralelismo

56

Threading y multiprocessing en Python

57

Asincronismo con asyncio

58

Asincronismo y concurrencia

Creación de módulos y paquetes

59

Creación de módulos en Python

60

Gestión de paquetes

61

Publicación de paquetes en PyPI

Proyecto final

62

Implementación de un sistema completo

63

Implementación de un Sistema Completo

No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

14 Días
13 Hrs
32 Min
38 Seg
Curso de Python

Curso de Python

Carli Code

Carli Code

Aplicación de Matrices

13/63

Lectura

Aplicación de Matrices

Las matrices son una herramienta fundamental en muchas áreas de la computación y las matemáticas. En Python, podemos usar listas dentro de listas para representar matrices bidimensionales (2D). Hoy, vamos a explorar varias aplicaciones prácticas de las matrices y cómo estas estructuras pueden ser usadas para representar tableros de juego.

...

Regístrate o inicia sesión para leer el resto del contenido.

Aportes 30

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Uy! Muy buenos ejemplos! Me dieron ganas de programar ese tablero de Ajedrez. Otro ejemplo también podria ser para programar un Batalla Naval. :D
Tengo dos años pagando Platzi, diciendo "Luego comienzo" pués ahora si llegó el momento de aprender, y que buen curso para comenzar con Carli ♥ ¡me encanta!
Las matrices son una increíble herramienta matemática. Algunos softwares especializados como Matlab se basan en este concepto matemático.
Lo leí con la voz de Carli
Me latió un buen el ejemplo del tablero de ajedrez y los movimientos que realiza la pieza del caballo. En lo personal, siento que se ejemplifica de mejor manera cómo se ubica un determinado punto (es este caso, una casilla) a partir de la combinación de dos índices, uno para identificar la fila y segundo, que corresponde a la columna. Voy a investigar cómo meterle un poco de diseño con CSS. Saludos, comunidad 🚀!
Para programar ese juego de ajedrez ya almenos se el primer paso... crear una matriz, lo demas pues es otro mundo😅😅
El mejor ejemplo para demostrar que las matrices son la tiza
no se puede agregar imagenes pero aquí puse en practica en html y css la representacion de una imagen ```html <style> *{background-color: #000;} .grid-container { display: grid; grid-template-columns: repeat(5, 1fr); grid-template-rows: repeat(5, 1fr); gap: 2px; /* Espacio entre las celdas */ width: 500px; /* Ancho total de la cuadrícula */ height: 500px; /* Altura total de la cuadrícula */ margin: 0 auto; /* Centrar la cuadrícula en la página */ border: 2px solid black; /* Borde de la cuadrícula */ } .grid-item0 { display: flex; align-items: center; justify-content: center; background-color: #000; /* Color de fondo de cada celda */ } .grid-item255 { display: flex; align-items: center; justify-content: center; color: #fff; background-color: #fff; /* Color de fondo de cada celda */ } </style> <body>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
```\<style> \*{background-color: #000;}.grid-container {    display: grid;    grid-template-columns: repeat(5, 1fr);    grid-template-rows: repeat(5, 1fr);    gap: 2px; /\* Espacio entre las celdas \*/    width: 500px; /\* Ancho total de la cuadrícula \*/    height: 500px; /\* Altura total de la cuadrícula \*/    margin: 0 auto; /\* Centrar la cuadrícula en la página \*/    border: 2px solid black; /\* Borde de la cuadrícula \*/} .grid-item0 {    display: flex;    align-items: center;    justify-content: center;     background-color: #000; /\* Color de fondo de cada celda \*/}.grid-item255 {    display: flex;    align-items: center;    justify-content: center;        color: #fff;    background-color: #fff; /\* Color de fondo de cada celda \*/}\</style> \<body>    \
        \        \
1\
        \
2\
        \
3\
        \
4\
        \
5\
        \
6\
        \
7\
        \
8\
        \
9\
        \
10\
        \
11\
        \
12\
        \
13\
        \
14\
        \
15\
        \
16\
        \
17\
        \
18\
        \
19\
        \
20\
        \
21\
        \
22\
        \
23\
        \
24\
        \
25\
    \
en el ejemplo: "si el caballo blanco está en la posición (7, 1) (segunda casilla de la última fila)", no veo como sea posible la posicion (5,0)
Las matrices pueden utilizarse para hacer representaciones gráficas que cosas tangibles
En ciencia de datos, las matrices y los tensores son herramientas fundamentales para organizar y manipular datos, especialmente en análisis de grandes volúmenes de información y modelos de aprendizaje automático. Aquí te explico cómo se utilizan en cada contexto: 1. **Matrices**: * **Organización y manipulación de datos**: Una matriz permite organizar datos en formato bidimensional (filas y columnas). Esto es útil para representar datos tabulares como los que se encuentran en hojas de cálculo o bases de datos. * **Álgebra lineal en modelos de ML**: Muchas operaciones de machine learning, como el cálculo de distancias, transformaciones y predicciones, se basan en álgebra lineal. Las matrices son esenciales para representar sistemas de ecuaciones y aplicar métodos como la descomposición en valores singulares (SVD) o PCA. * **Redes neuronales**: En redes neuronales, las matrices permiten gestionar las conexiones y pesos entre neuronas de diferentes capas, y facilitan las operaciones de multiplicación y suma necesarias para la propagación hacia adelante y hacia atrás en los modelos. 2. **Tensores**: * **Datos de más de dos dimensiones**: Los tensores extienden la idea de una matriz a tres o más dimensiones. Por ejemplo, una imagen en color se representa como un tensor tridimensional (ancho, alto y canales de color). * **Modelos de redes neuronales profundas**: En deep learning, los tensores permiten representar conjuntos de datos complejos (como series de tiempo o datos de imágenes) y realizar operaciones avanzadas que calculen representaciones jerárquicas. Las bibliotecas de deep learning (TensorFlow y PyTorch, por ejemplo) están diseñadas para trabajar con tensores, lo que permite operaciones eficientes en GPU y paralelización. * **Series temporales y modelos predictivos complejos**: En aplicaciones de predicción de series temporales, se utilizan tensores para representar datos secuenciales y construir modelos que analicen relaciones en datos de múltiples variables temporales.
Gracias por los ejemplos, en especial el ajedrez que domino por posiciones, por lo cual me parece muy grafico.
me encantaron los ejemplos, emocionado por practicarlos pronto
GENIAL, Muy Buen Resumen de ListasX3D as Matrices \nYo agregaria mas aplicaciones avanzadas como Mecanica de Fluidos por Computadora donde se utilian enormes matrices multidimension para modelar variables Termodinamicas de los fluidos en movimiento, por tanto que matrices son usadas para almacenar informacion como float de numeros reales con alta precision. Numpy es muy buen Library y funciona excelente para esto . \n
Será muy interesante hacer el juego de batalla naval.
Hola, soy nueva en general, sigo todo y me voy enterando pero, ¿hay alguna manera de que dejen algun ejercicio? ¿O ustedes como lo hacen?
\*Una matriz es simplemente una lista que contiene otras listas (filas de la matriz). \*Para acceder a un elemento, usas índices como en cualquier lista \[ ]
Es muy interesante conocer la utilidad de las matrices no solo en el ámbito de la algebra lineal , si no que también su uso se expande a informática , robótica, computación , gráficos por computadora , análisis de datos etc. Las matrices son una herramienta que nos ayuda a la representación de datos complejos y realizar operaciones de forma avanzada
print('')print('\*'\*80) '''Tablero de AjedrezUn tablero de ajedrez es una matriz de 8x8. En vez de representar solo las casillasblancas y negras, podemos representar las piezas de ajedrez. Usaremos letras pararepresentar las piezas:P para peón,R para torre,N para caballo (knight),B para alfil,Q para reina yK para rey.Las piezas negras se representan con letras minúsculas y las blancas con letras mayúsculas.'''print('Chessboard')#col  0   1   2   3   4   5   6   7chessboard = \[    \['r','n','b','q','k','b','n','r'], # fila 0    \['p','p','p','p','p','p','p','p'], # fila 1    \[ 0,  0,  0,  0,  0,  0,  0,  0 ], # fila 2    \[ 0,  0,  0,  0,  0,  0,  0,  0 ], # fila 3    \[ 0,  0,  0,  0,  0,  0,  0,  0 ], # fila 4    \[ 0,  0,  0,  0,  0,  0,  0,  0 ], # fila 5    \['P','P','P','P','P','P','P','P'], # fila 6    \['R','N','B','Q','K','B','N','R']  # fila 7]print(chessboard)print('') \# mover el caballo de (7, 1) a (5, 2), el tablero se vería así:chessboard\[7]\[1] = 0 # casilla o posición original del caballo que ahora está vacía.chessboard\[5]\[2] = 'N' # Nueva posicion del caballo.print(chessboard)print('')print('')print('-'\*80)print('')"""""""""""" '''Tablero de DamasUn tablero de damas también es una matriz de 8x8, pero además de las casillas alternas,debemos representar las piezas de los dos jugadores. En este ejemplo, el 0 representa una casilla vacía, 'r' representa una ficha roja,y 'b' representa una ficha negra. Las filas superiores e inferiores están llenas defichas en sus posiciones iniciales, mientras que las filas centrales están vacías.''' print('Checkers\_board')#col  0   1   2   3   4   5   6   7checkers\_board = \[    \[ 0, 'b', 0, 'b', 0, 'b', 0, 'b'], # fila 0    \['b', 0, 'b', 0, 'b', 0, 'b', 0 ], # fila 1    \[ 0, 'b', 0, 'b', 0, 'b', 0, 'b'], # fila 2    \[ 0,  0,  0,  0,  0,  0,  0,  0 ], # fila 3    \[ 0,  0,  0,  0,  0,  0,  0,  0 ], # fila 4    \['r', 0, 'r', 0, 'r', 0, 'r', 0 ], # fila 5    \[ 0, 'r', 0, 'r', 0, 'r', 0, 'r'], # fila 6    \['r', 0, 'r', 0, 'r', 0, 'r', 0 ]  # fila 7]print(checkers\_board)print('')print('')print('-'\*80)print('') '''Representación de una Imagen en Escala de GrisesImaginemos una matriz de 5x5 que representa una imagen en escala de grisescon un simple patrón.''' print('Image')#col  0    1    2    3    4image = \[    \[255,  0,   0,   0,  255], # fila 0    \[ 0,  255,  0,  255,  0 ], # fila 1    \[ 0,   0,  255,  0,   0 ], # fila 2    \[ 0,  255,  0,  255,  0 ], # fila 3    \[255,  0,   0,   0,  255]  # fila 4]print(image)print('') print('\*'\*80)print('')
va el codigo con comentarios en el código ```js chess_board = [ ['r', 'n', 'b', 'q', 'k', 'b', 'n', 'r'], ['p', 'p', 'p', 'p', 'p', 'p', 'p', 'p'], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], ['P', 'P', 'P', 'P', 'P', 'P', 'P', 'P'], ['R', 'N', 'B', 'Q', 'K', 'B', 'N', 'R'] ] #print(chess_board) """"" print(chess_board[0], "\n") print(chess_board[1], "\n") # así hasta el 8 print(chess_board[8], "\n") # o mejor con for """"" for fila in chess_board: print(fila, "\n") print("\n") print("\n") # y así con while i = 0 while i < len(chess_board): print(chess_board[i], "\n") i += 1 print(chess_board[5][0]) print(chess_board[5][2]) print(chess_board[6][3]) ```
Pense que venia el uso de las condicionales
Increible la manera en la que explicar de la profesora.
Hasta ahora todo muy claro, Gracias Carli...
Genial ahora puedo sacar dato por coordenadas x e y
Me gusta el ejemplo con los juegos, esto me hizo imaginar el tablero para y así poder mover las piezas por medio de las coordenadas.
Como o donde puedo ver infomarcion de los proyectos ??? la verdad no entiendo como funcionan
Viendo este curso que es muy detallado, sencillo (pero no simple), con ejemplos puntuales y en el que se avanza paso a paso. M atrevo a sugerir, porque es una constante en otros cursos, que platzi debería dar tres cursos (fundamentos, intermedio y avanzado) en temas ligados a la informática: qué es la memoria, qué es un sistema operativo; cómo trabaja un disco duro, un dispositivo USB... lo que pasa es que varios cursos se explica de manera rápida qué es la memoria y otros conceptos, solo de pasada, pero que es necesario, conocer bien para comprender bien cómo trabaja el software de análisis de datos, los lenguajes de programación. a lo mejor no me explique bien pero ojalá el team Platzi lea este comentario y tomen en serio mis comentarios
Llevaba aproximadamente dos años sin renovar mi suscripción de Platzi. Hoy la renové y quise retomar mi ruta de Data con este curso, a pesar de que ya conocía un par de conceptos de las primeras clases, es excelente refrescar conocimiento. Gran nuevo curso de Python y excelente docente. ¡Este ejemplo está brutal!
O que curso me recomiendan para aprender a manejar estos casos y implementar una mejor solucion ? Podrian enviarmelos a mi correo de la cuenta de Platzi, estare muy agradecido