Saltar navegación

Activa JavaScript para disfrutar de los vídeos de la Mediateca.

SESIÓN 3 -HP CODEWARS CON PYTHON - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 23 de enero de 2024 por Innovacion

49 visualizaciones

Descargar la transcripción

Vamos a ir empezando. Buenas tardes a todos de nuevo. Ya hemos llegado más allá de la 00:00:00
mitad del camino. Estamos en la tercera sesión. Nos queda hoy el miércoles. Mucho ánimo 00:00:13
a todos. Las cinco personas que estamos aquí teníamos el otro día cuando estuvimos analizando 00:00:16
la última clase una duda existencial. Ahora nos diréis todos por el chat alguno por lo 00:00:22
menos. Al final, los dos días anteriores han interactuado siempre los mismos profesores. 00:00:27
Tenemos la duda de si el resto es que no está siguiendo, si vamos demasiado rápido. Nos 00:00:36
gustaría tener un poco más de feedback de todos aquellos que no habéis estado diciendo 00:00:43
a mí esto no me sale, esto sí ponemos, esto quitamos. Está claro que esas ocho o nueve 00:00:49
personas que nos habéis ido preguntando que lo vais siguiendo. De hecho, mucho mejor 00:00:53
que yo, por ejemplo. Pero claro, somos unos cuantos más. Entonces, tenemos miedo no estar 00:01:00
llegando a todos. Sería importante saberlo. Entonces, no sé. Yo podría decir nombres 00:01:10
aquí que no habéis participado en ningún momento, pero me parece una tontería. Simplemente 00:01:20
en este minuto primero o segundo, por favor, decidnos si vais bien, todo está bien y el 00:01:26
ritmo es bueno. Javier, muchas gracias. Es imposible, también es una realidad y vosotros 00:01:32
lo sabréis como profesores llegar a todos a la misma velocidad. Eso es muy difícil, 00:01:39
pero de lo que se trata es de llegar las mejores condiciones posibles a la mayoría. Entonces, 00:01:44
nos gustaría saber un poco que vais bien. Está claro que habrá gente que esté por 00:01:48
encima y unos cuantos como yo que estemos por debajo, a la cola del pelotón, por decirlo 00:01:56
de alguna manera, pero sería importante saber que los que estáis en el medio sois la mayoría 00:02:03
de vosotros. Entonces, mira, os dejamos como diez segundos 00:02:08
para que escribáis y decir, oye, vamos bien, no estamos aquí solamente perdiendo el tiempo, 00:02:14
son tres horas muy valiosas vuestras de una tarde de principio de semana que son duras. 00:02:18
Entonces, bueno, eso por ahí. Mientras nos escribís y nos decís algo, deciros también 00:02:23
que el profesor de hoy va a ser Guillermo Lastra, que Germán Alejandro y Guille Menguez nos están 00:02:30
acompañando un rato, hasta que puedan. Iremos contestando, como siempre, al chat según veamos 00:02:36
que podemos introducir esas preguntas. Para el miércoles, que sepáis que nos gustaría, 00:02:43
seguramente se lo demos a Sonia para que lo suba, una pequeña encuesta de cómo habéis encontrado 00:02:49
este curso de cuatro sesiones. Para nosotros es importante porque hemos dedicado esfuerzo, 00:02:56
entonces saber cómo lo hemos hecho. Y por último, bueno, adelantaros también que en función de 00:03:02
dónde lleguemos hoy, pues Guillermo Menguez, que será el profesor del último día, pues irá un poco 00:03:08
más para atrás y haremos más ejercicios o irá directamente a recursos, a inteligencia artificial 00:03:15
aplicada, a lo mejor a la formación de Python y alguna cosa más. A ver, tema de grabación es 00:03:23
importante. Si no han subido es porque nos habían dicho, y seguro que me lo dijeron a mí y se me 00:03:31
olvidó, Sonia y Arturo, que no podía pasar de 1000 megas. Entonces, no eran archivos comprimidos 00:03:37
y no podían subirlos. Ya los tenemos, los acabo de pasar a Sonia, o sea, que lo hará mañana cuando 00:03:45
pueda la sesión 1L2. Sonia, te lo acabo de compartir, esos archivos hace nada, hace 10-15 minutos, 00:03:51
o sea, ya estará. No teníamos la manera de comprimir porque no estamos acostumbrados, no tenemos esa 00:03:58
necesidad. Entonces, como ocupaba muchísimos megas, pues las herramientas gratuitas, ya sabéis que más 00:04:04
de 500 megas no se puede. Bueno, hemos tenido que hacer ahí alguna cosilla, pero ya está, o sea, 00:04:11
que perdonad que no hayan estado disponibles el fin de semana, pero no llegábamos. Por mi parte, 00:04:16
Guillermo, todo tuyo. Estupendo, ya veo que todo el mundo ha comentado más o menos que o conocían 00:04:23
Python o el ritmo es bueno. Vale, perfecto. Vale, pues nada, paso a compartiros. Os tendréis que 00:04:31
descargar el fichero con extensión IP de MB, ¿vale? Dirigiría a la MB. Una pregunta nada más, perdona, 00:04:42
Guille, que te interrumpa. Pregunta, Germán, las soluciones del primer día las tenemos, perdóname, 00:04:54
porque si están en el Teams no miréis, no se las he pasado. ¿Las paso ahora mismo o las subimos ahora? 00:04:58
Sí, sí que están ya, pero no las he subido al Teams. Ponlas en el Teams y se las enviamos a Sonia y ya 00:05:06
que lo vaya subiendo toda. Vale, perfecto. Pues eso, os descargaréis el fichero de teoría y ejercicio de aquí. 00:05:14
El día 3, ¿vale? Es el fichero que vamos a utilizar durante el día de hoy. 00:05:26
Y nada, continuaremos con el mismo entorno, el de Jupyter, ¿vale? Os dejo el link. 00:05:37
Para que podáis acceder y arrastréis o importar también se puede upload file el fichero en cuestión, ¿vale? 00:05:45
Y diciéndome si lo habéis podido importar bien, los que tengáis problemas por favor comentádnoslo por el chat y así podemos ayudar. 00:06:02
Si el tamaño de letra está bien, todo ese tipo de cosas. 00:06:23
Está en el cloud, en el cloud de Educamadrid, recursos, Python. Vale, letra más grande. 00:06:31
Teoría y ejercicios, el primer apartado. 00:06:47
Sí, efectivamente la sesión 3 corresponde a la sesión 2, efectivamente. La nuestra sería la 4. 00:06:55
¿Alguna más pregunta? Si podemos subirlo por aquí. 00:07:46
El último día lo compartimos por OneDrive, ¿puede ser Germán? 00:08:10
No, por WeTransfer. 00:08:17
Ah, por WeTransfer. 00:08:19
Que el chat aquí no permita juntar archivos. 00:08:21
Va a ser... 00:08:25
No puedo subir a WeTransfer, sí, sin ningún problema. 00:08:28
Vale. 00:08:32
Por si acaso, yo te dejo aquí el link de Educamadrid, por si acaso. 00:08:34
Porque se puede entrar como invitado, se puede descargar. 00:08:39
Vamos a darle a descargar. 00:08:53
Perfecto, estupendo. 00:09:02
Muy bien, pues en principio, si no me decís nada más, comienzo con la clase. 00:09:05
Haremos una pequeña revisión de todo lo que vimos el segundo día. 00:09:11
Comenzaremos por los condicionales. 00:09:18
Muy bien, pues nada. 00:09:23
Digamos que yo hice aquí una especie de ejercicio resumen, en el que vamos repasando un poco todo lo que hemos visto el día 2. 00:09:25
Para ello he hecho una pequeña revisión de todo lo que hemos visto el día 2. 00:09:38
Para ello he hecho una pequeña explicación. 00:09:48
Poco a poco vamos a ir viendo el código. 00:09:55
La primera parte es la de condiciones. 00:10:01
Queremos pedir una entrada en la taquilla. 00:10:04
Según la edad que tengamos, nos darán un precio para ese ticket. 00:10:09
Recordar que el igual es una asignación, entonces el número 6 está asignado a la variable edad. 00:10:18
Por tanto, lo primero que haremos será, una vez ya tenemos la variable establecida, compararemos. 00:10:28
Haremos una condición de comparación con el igual-igual. 00:10:34
Recordad que la función type nos devolvía qué tipo de variable es. 00:10:39
En este caso, al ser un 6, se entiende como un entero, un int. 00:10:48
Por tanto, la primera afirmación será correcta. 00:10:55
Podemos darle a ejecutar para comprobar que es el tipo correcto. 00:10:59
En caso contrario, el else es el que indica, en el caso defeccional, que no se cumplen las comparaciones anteriores. 00:11:05
Entonces se nos imprimirá un tipo erróneo. 00:11:16
Vamos a hacer la prueba. 00:11:19
Esto es un string, haremos tipo erróneo, y por tanto no podrá hacer la comparación, como indica aquí. 00:11:20
Volvemos. 00:11:40
Entonces, una vez ya tenemos establecido que el tipo es el correcto, pasamos a hacer la prueba. 00:11:41
Pasamos a comprobar la edad. 00:11:49
Lo primero que haremos será hacer un menor que. 00:11:53
Si en el caso de que la edad sea menor que 8, el precio será de 0. 00:11:56
Los niños tienen un precio de 0 euros. 00:12:00
El else if. 00:12:04
Recordemos que era como escribir un else if. 00:12:05
Entonces sería, en el caso de que edad menor que 8, es una condición. 00:12:10
En el caso de que si no se ha cumplido la anterior, vas a comprobar la siguiente. 00:12:16
La siguiente sería edad menor o igual que 18, o la edad es mayor que 64, el precio pasa a ser de 4 euros. 00:12:21
Y si no se ha cumplido ninguna de las anteriores, entonces el precio será de 10. 00:12:31
Y por último, utilizamos la función print, que nos escribirá por pantalla el precio de la entrada es, 00:12:38
el precio que le hemos establecido según la comparación que hemos hecho previamente. 00:12:46
Hasta aquí la comparación, muy sencillita. 00:12:59
Pasamos a bucles. 00:13:03
Vimos el for y el while. 00:13:07
El while era el que estaba comprobando constantemente, era el más sencillito de idealizar, 00:13:11
ya que tenía una manera de comportarse muy similar a cómo pensamos nosotros, los humanos. 00:13:16
Y luego el for, que es el que nosotros le decimos el rango que tiene que ir recorriendo. 00:13:26
Nosotros, por ejemplo, si establecemos una palabra, vamos a poner frase, más bien recorrer esta frase. 00:13:34
La función range es la que genera un array de enteros hasta el número que le indiquemos. 00:13:48
Dentro tenemos len, que es otra función que nos indicaba el tamaño de esa frase, de ese objeto. 00:13:56
Si tenemos alguna duda, le damos a ejecutar. 00:14:06
Si tenemos alguna duda, le damos a ejecutar. 00:14:36
A ver si se me vuelve loco, vamos a resetearlo. 00:14:57
Ah, que eran tres cerraduras. 00:15:00
Bueno, se me ha ejecutado. 00:15:08
Vale, el rango es de 0 a 19. Tenemos aquí 20 letras. 00:15:29
Por eso el for lo que va a hacer es recorrer el índice, desde 0 hasta 19. 00:15:45
Entonces va a ir recorriendo, va a coger el objeto frase y el índice de 0 a 19, va a ir pasándole el número 00:16:06
y entre corchetes lo que indicamos es qué posición del índice de toda esta cadena vamos a ir imprimiendo. 00:16:20
Por tanto, lo que ya estamos viendo es el 0, el 1, el 2, el 3 y así, consecutivamente. 00:16:29
Con el while sucede lo siguiente, tenemos un i, establecemos una variable de índice, para ser más claros. 00:16:38
Vamos a establecer una condición, mientras el índice sea menor que 3, hacemos la ejecución que nosotros queramos. 00:16:49
En este caso sería imprimir índice. Imprimimos el índice y posteriormente hacemos un incremento de 1. 00:16:59
Esto sería lo mismo que decir índice es igual a índice más 1. Es lo mismo que decir lo que teníamos antes, 00:17:15
índice más igual 1. De una manera abreviada, pero a fin de cuentas es lo mismo. 00:17:28
Por tanto, eso se nos imprimirá todos los números menores que 3. El 0, el 1 y el 2. 00:17:40
Muy bien, hasta aquí los bucles. Vemos que no tiene mucha historia. 00:17:48
Listas y tuplas. Las listas, como conocemos, son un conjunto de objetos siempre del mismo tipo y las tuplas puedes almacenar más de un tipo. 00:18:01
El ejemplo que hemos establecido es el de tener una lista de ingredientes para elaborar una lenteja, por ejemplo, 00:18:14
Entonces tenemos la asignación y cuando queremos añadir un objeto, establecer una serie de cadenas, por ejemplo en este caso, 00:18:24
entre corchetes, importante, y dentro, separado por comas, todas las variables, en este caso todos los strings, escribiéndolos. 00:18:41
Para obtener una sección, por ejemplo, un substring, una sección de todo este objeto, podemos abrir corchetes, 00:18:57
indicarle el valor inicial, dos puntos y el valor final. Y diréis, ¿dónde está el valor final? 00:19:11
Cuando no le indicamos nada, entonces lo que significa es, coge todo, digamos, si yo le indico aquí del nada al 4, 00:19:19
entonces nos cogerá del primero que obtenga al número 4. Tener en cuenta que en este caso cebolla va a ser el 0. 00:19:31
Entonces 0, 1, 2, 3 y 4, hasta zanahoria. 00:19:40
Coge cebolla, aceite, ajo y pimentón. Zanahoria no lo incluye. 00:19:51
Hacemos lo contrario, del 4 al vacío. 00:19:58
O bueno, del 4 al 5, entonces recogería 1, solamente zanahoria, ¿veis? Está en la posición. 00:20:03
Esto para obtener una sección de este listado. 00:20:13
Si queremos eliminar un objeto, entonces tendríamos que utilizar el nombre del listado, el punto y posteriormente la acción que queremos realizar, 00:20:21
en este caso remove, que es el que nos va a permitir eliminar un elemento y tenemos que escribir concretamente el objeto que está añadido. 00:20:37
Entonces nos va a eliminar pimentón. En este listado ya no está pimentón, ¿veis? 00:20:47
Muy bien, ingredientes.pop. Esta acción lo que hace es eliminar el último elemento que tenemos, que en este caso sería jamón, 00:20:54
ya deja de estar en el listado. Lo imprimimos, somos capaces de obtenerlo, pero la siguiente vez que imprimamos ya no está jamón. 00:21:04
¿Qué queremos añadir? Un nuevo ingrediente, pero en este caso insert, la acción insert nos permite hacerlo en una posición indicada, en este caso el 0, por ejemplo. 00:21:17
Entonces lo añadirá el primero de la lista. Ahí lo tenemos, el 0. 00:21:34
Y por último, la última acción que os enseñaré, os recordaré, será la del reverse. Esta es la que nos permite voltear toda la lista, cambiar el orden. 00:21:40
Por lo tanto, lentejas, que era el último, pasa a ser el primero y así sucesivamente. 00:21:52
Tampoco me he metido mucho en tuplas, ya que no es algo que se utilice mucho, así que simplemente mencionar que existen y que el indicador para establecer una tupla es el paréntesis. 00:21:59
Y dentro meteremos los objetos que deseemos. Ya veis que aquí podemos introducir una cadena de string, un entero, un booleano e imprimirlo por pantalla. 00:22:13
Muy bien, hasta aquí el repaso. Hoy lo que veremos será diccionarios, funciones, parámetros y argumentos, módulos y clases. 00:22:26
Muy bien, hasta aquí todo bien. 00:22:41
¿Qué pasa si no se ha firmado la entrada, Sonia? 00:22:44
Bueno, vamos a ver si lo ve. También me he olvidado. ¿Se ha olvidado? ¿Firmó la salida? Ah, que firma la salida, vale. 00:23:14
Ya lo estáis viendo, los que no o las que no habéis firmado, firmarán la salida. Y ahora ya, seguimos. 00:23:26
¿Qué quiere decir la última instrucción, Guille? 00:23:34
Sí, nada, es el salto de línea. Esa es la expresión que he utilizado para que se viese más bonito a la salida. 00:23:37
Quería separar lo que eran las listas de lo que eran las tuplas y por tanto hice un print L barra N, barra invertida N, que eso es el salto de línea. 00:23:44
Sin más, me he atentado. 00:23:58
Muy bien, pues nada, pasamos a explicar los diccionarios. 00:24:08
Los diccionarios son estructuras más flexibles a lo que hemos visto anteriormente como son las listas y las tuplas 00:24:14
y bastante organizadas ya que utilizan identificadores o claves a las que le podemos asignar un valor. 00:24:25
Entonces utilizan esa estructura de clave-valor en la que podemos darle un nombre estratégico y único a cada uno de nuestros valores, 00:24:36
de manera que podemos acceder más rápidamente. 00:24:49
¿Qué más? Bueno, eso, que son más dinámicos ya que nos permiten eliminar y obtener información más rápidamente. 00:24:52
Lo que se explicaba que están indexados, que es la palabra técnica, que tienen una clave, una key específica y única para cada uno de los elementos. 00:25:03
No podemos repetir dos claves. 00:25:16
Y eso que podemos anidar, importante, se pueden anidar unos dentro de otros y podemos hacerlos tan grandes como queramos. 00:25:21
A través de estos símbolos, de estas llaves, podemos indicar, en este caso es un diccionario vacío al que hemos asignado a la variable alumno 00:25:32
y nada, posteriormente, como podéis ver aquí, le estableceremos una clave que será el nombre, en este caso. 00:25:48
Importante que sean string. He probado a utilizar enteros y funciona, pero no os lo recomiendo. 00:25:57
No sé si será cosa del programa o tal, pero lo que yo he visto siempre es que siempre son cadenas de string y por tanto es lo que deberíamos utilizar. 00:26:06
Luego el valor, podemos utilizar el tipo que queramos. 00:26:19
Y por tanto eso, separado siempre por los dos puntos, importante, la clave de valor. 00:26:24
Y este es el primer ejemplo que vamos a utilizar, el de alumno, nombre Juanito, edad 25 años y ciudad León, por ejemplo. 00:26:31
Si imprimimos, veremos que se imprime todo el objeto, las llaves, clave valor, coma, clave valor, coma, clave valor, en esta estructura. 00:26:43
Formas de acceder al diccionario. Tenemos dos, por suerte, una es por medio de los corchetes estos y dentro estableceremos la clave que nos devolverá el valor. 00:26:57
Si lo ejecutamos, nos devolverá 25, ya que la edad era de 25 años, o también podemos usarlo con alumno.get. 00:27:18
Esta función nos devuelve, pasándole como parámetro, pasándole el nombre dentro de los paréntesis de la función get, nos devolverá el objeto, ciudad León. 00:27:38
Para añadir objetos es muy sencillito, ya que simplemente si nosotros abrimos con los corchetes y metemos un texto, una clave que no existía, como es, por ejemplo, teléfono, no existía dentro del alumno, pues nos lo añade, así de sencillo, no tiene más misterio. 00:27:55
Aquí vemos que efectivamente nos ha escrito el teléfono, es un entero, un número entero, nos lo ha escrito. 00:28:17
Si queremos modificar algo, por ejemplo, que en la base de datos del colegio se han equivocado, que el chaval no tenía 25 años, tenía 15, pues perfectamente podemos buscar dentro de los corchetes la clave edad igual de asignación y el 15. 00:28:28
De esta manera nos va a modificar la edad. 00:28:49
Ahora ya aparece como 15. 00:28:55
Y por último, para eliminar el dato, utilizaremos del. Es verdad que es diferente a todo lo que hemos visto hasta ahora. 00:28:59
Utilizamos esta palabra reservada por Python, por la cual si le pasamos lo que queremos eliminar, en este caso es dentro del diccionario alumno, la clave teléfono nos la eliminará. 00:29:09
Es un poco diferente, pero bueno. 00:29:26
Más, lo que os explicaba antes, los diccionarios también pueden anidarse. 00:29:31
Aquí, por ejemplo, podemos añadirle información sobre el colegio del alumno. 00:29:37
Entonces establecemos un diccionario, que es el que luego vamos a asignar al diccionario alumno, con la clave colegio, y dentro especificamos la misma estructura, clave valor de nombre leonés, por ejemplo, calle José Aguado. 00:29:45
Vale, inspección, otra clave, pues está pasada la inspección del colegio, perfecto. 00:30:10
Eso, el acceso a los diccionarios es igual que hemos visto antes, igual que accedíamos a una clave dentro de un alumno, esto es secuencial, entonces accederemos una dentro de otra, vamos a ir accediendo. 00:30:19
Y esto infinitamente, entonces en este caso vamos a acceder al colegio, a la clave colegio, y dentro de él a la clave calle, nos tiene que devolver José Aguado, perfecto, todo bien. 00:30:34
Imaginaos que vosotros tenéis el nombre de la clave a la que queréis acceder, digamos que la tenéis almacenada en una variable. 00:30:50
Os he puesto este ejemplo, que tenemos un listado en el que va a ir recorriendo, digamos que tienes almacenados donde queremos acceder, queremos acceder a la clave colegio y después a la clave calle. 00:31:12
Digamos que en vez de meterse los corchetes y el nombre en cuestión, accederemos por ejemplo al listado, al índice cero del listado, de la misma manera que podríamos tener una variable, colegio, 00:31:28
primero aquí, 00:31:48
segundo aquí, 00:31:58
y tercero aquí. 00:32:18
Y de esta manera también podemos acceder 00:32:41
a la información que tenemos anidada dentro del diccionario. 00:32:43
Más cositas, esto es muy útil ya que podemos comprobar si existe una key, entonces podemos pasarle este condicional, 00:32:54
ir, el texto, la clave que queremos comprobar, in, está dentro del diccionario alumno, el alumno tiene asignado colegio. 00:33:04
En caso contrario, 00:33:19
tabulamos bien el alumno, no tiene colegio asignado. 00:33:34
También podemos iterar sobre los diccionarios con el for, si le pasamos el for, por ejemplo, hemos puesto recoger el diccionario del colegio, 00:33:47
y le hemos pasado una variable, esto es una manera de no tener que estar escribiendo constantemente alumno, entre corchetes colegio, entre corchetes lo que queramos, 00:34:10
en este caso para abreviar, lo que hacemos es pasarle una variable y jugar con el colegio. 00:34:22
Sería lo mismo que hacer aquí esto y esto, solo que se lo estamos pasando una variable para ayudar más a la hora de leer el código. 00:34:31
Y de esta forma vais recorriendo cada una de las claves, digamos que cuando no le indicamos nada, lo que va a recorrer son las claves, va a recorrer el nombre, calle, inspección. 00:34:44
La iteración se puede hacer o bien de esta manera, para comprobar las claves, bien con esta llamada, si le pasamos el punto values, esto lo que nos permite es acceder a los valores, específicamente a los valores. 00:35:04
Entonces si le ejecutamos el colegio, ejecutamos, ahí estaría. 00:35:24
Entonces ya nos va devolviendo Leones, José Aguado y True, esos son los tres valores que tenemos para el colegio, Leones, José Aguado y True. 00:35:51
Entonces si queremos obtener algo, pues esta es la manera. Y si queremos obtener ambos, utilizaremos items, esto lo que nos permite es que nos devuelva por cada iteración dos variables, una es clave y otra es valor. 00:36:06
De esta manera podemos ir imprimiendo eso, podemos obtener en la misma iteración los dos valores, la información de los dos, la clave y el valor. 00:36:28
Porque claro, de estas únicamente obteníamos uno. 00:36:39
Y nada, por fin llega el primer ejercicio. 00:36:43
Vamos a respirar, espera un momento, vamos a respirar. 00:36:48
Hay un par de personas, por lo menos, que tenían problemas para ejecutar esta Alejandro y esta Germán, intentando a ver si lo solucionan. 00:36:52
Bien, por no dejar perdido algo que nos habían pedido, que yo creo que si os parece bien, chicos, lo podríamos hacer o justo antes del descanso o justo después, 00:37:04
el explicar un poco cómo funciona Jupiter y de qué manera se pueden descargar y presentar a los alumnos, si es que se puede trabajar en los centros con él. 00:37:15
Si os parece, lo podemos dejar a lo mejor para empezar la segunda parte de esta tarde de hoy, ¿cómo te parece, Guille? 00:37:24
Bien. 00:37:31
¿Qué significa la F? Creo que era lo único que nos quedaba. 00:37:36
¿Era la pregunta? 00:37:39
Contestar. 00:37:40
Vale, vale, vale. 00:37:41
A ver, hay varias maneras de imprimir. 00:37:42
Digamos que podríamos imprimir, es lo que se llama en Python FString. 00:37:45
Es una manera de especificar, digamos, de hacer en una sola línea todo, en vez de... 00:37:53
Esto sería lo mismo que print clave más comillas dos puntos más valor, ¿vale? 00:38:00
Así. Esto es lo que conocíamos hasta ahora, ¿vale? 00:38:15
Y con el F lo que hacemos es, todo lo que metamos entre corchetes serán nombres de variables, ¿vale? 00:38:19
Entonces, si especificamos aquí antes de las comillas, la F se convertirá en un FString y por tanto todo lo que metamos entre corchetes serán variables 00:38:24
y lo que no será texto a imprimir tal cual. 00:38:35
Ehm... 00:38:40
¿Vale? 00:38:42
Eso es porque no está... no está bien. 00:38:43
Eso es porque tenemos que hacer una... clave. 00:38:59
Y aquí le vamos a meter un valor más. 00:39:10
Sdr, lo convertimos todo a... 00:39:16
A darle... ahí estaría. 00:39:22
Vale, sería lo mismo. 00:39:24
Digamos que al tener un booleano, lo que me está obligando es hacer un casting. 00:39:26
Lo que aprendimos con Germán era que haciendo un casting convertimos todo lo que sea en un String, ¿vale? 00:39:33
Porque claro, no podemos concatenar, no podemos hacer más algo si no es del mismo tipo, porque si no se vuelve loco. 00:39:44
El F lo que nos permite es eso, no tener que estar aquí pues haciendo castings ni cosas raras. 00:39:53
Él ya es listo y sobreentiende todo. 00:39:59
Vale. 00:40:04
Javier y Madrid, ¿habéis podido solucionar el tema de la impresión de ejecutar? 00:40:05
No sé si Germán y Alejandro si lo hacéis en... si les habéis ayudado por interno. 00:40:13
No, no ha habido más mensajes al menos. A mí no me ha llegado nada más. 00:40:23
Vale, veo que el único problema era del Kerner, ¿no? 00:40:27
Sí, le pasaba a los dos yo creo, ¿no? 00:40:31
Había dicho Alejandro que abriera una pestaña de incógnito para que se borraran las cookies, no sé si lo han hecho o no. 00:40:36
Bueno, seguimos, vamos con el ejercicio y mientras estén Alejandro y Germán, si podéis ayudarles, os lo agradecemos, ¿vale? 00:40:42
El archivo no está corrupto. 00:40:57
Se ha pillado el tema de las cookies, ¿no? Ha tardado mucho en responder, tras estar con un rato ha terminado respondiendo. 00:41:01
Vale, y había otra persona que aparece como Madrid también, que estaba ahí atascada. 00:41:08
Bueno, y adelante ya intentamos ayudarles por interno, ¿vale? 00:41:19
Vale, perfecto. Nada, entonces procedemos con el primer ejercicio, ¿vale? Os explico un poco. 00:41:24
Hemos añadido, digamos que tenemos un diccionario, con lo que veis, tenemos la estructura que hemos visto hasta ahora, que era la de clave y valor. 00:41:34
Pues tenemos título, el que sea, año, 1999, director, Peter Jackson, género, X, ¿no? 00:41:43
Tenemos varios tipos, actores principales, que es un listado, tenemos clasificación, que es un entero, comentarios, aquí tenemos anidado, otro diccionario. 00:41:51
Con los diferentes comentarios, pues eso, Anónimo 1, dice que se durmió. 00:42:02
Y Juanito, que no se enteró de lo que iba la película. 00:42:09
Nada, nos he puesto aquí una serie de correcciones, ya que al introducirlo a la base de datos, pues hemos cometido errores, ¿vale? 00:42:15
Entonces lo que vamos a hacer es utilizar las secuencias, las acciones que hemos aprendido antes, para que la película cambie el año, ¿vale? 00:42:24
Para que no sea 1999, sino que sea 2001. Añadamos un nuevo actor principal, que es Ian Mckellen, ¿vale? 00:42:35
Vamos a imprimir por pantalla los nombres de los asistentes, entre paréntesis he puesto que son las claves de los comentarios, ¿vale? 00:42:46
Anónimo 1 y Juanito, clave, valor, os pido estos dos, los imprimáis por pantalla, Anónimo 1 y Juanito. 00:42:56
Eliminemos los comentarios, ¿vale? No quede constancia de ellos en el diccionario y imprimamos todo por pantalla. 00:43:05
Y nada, os vamos a dejar unos minutos para que podáis realizar el ejercicio tranquilamente. 00:43:15
Subtítulos por la comunidad de Amara.org 00:43:45
Subtítulos por la comunidad de Amara.org 00:44:15
Subtítulos por la comunidad de Amara.org 00:44:45
Subtítulos por la comunidad de Amara.org 00:45:15
Subtítulos por la comunidad de Amara.org 00:45:45
Subtítulos por la comunidad de Amara.org 00:46:15
Subtítulos por la comunidad de Amara.org 00:46:45
Subtítulos por la comunidad de Amara.org 00:47:15
Subtítulos por la comunidad de Amara.org 00:47:45
Subtítulos por la comunidad de Amara.org 00:48:15
Subtítulos por la comunidad de Amara.org 00:48:45
Subtítulos por la comunidad de Amara.org 00:49:15
Subtítulos por la comunidad de Amara.org 00:49:45
Subtítulos por la comunidad de Amara.org 00:50:15
Subtítulos por la comunidad de Amara.org 00:50:45
Subtítulos por la comunidad de Amara.org 00:51:15
Subtítulos por la comunidad de Amara.org 00:51:45
Subtítulos por la comunidad de Amara.org 00:52:15
Subtítulos por la comunidad de Amara.org 00:52:45
Subtítulos por la comunidad de Amara.org 00:53:15
Subtítulos por la comunidad de Amara.org 00:53:45
Subtítulos por la comunidad de Amara.org 00:54:15
Subtítulos por la comunidad de Amara.org 00:54:45
Subtítulos por la comunidad de Amara.org 00:55:15
Subtítulos por la comunidad de Amara.org 00:55:45
Subtítulos por la comunidad de Amara.org 00:56:15
Subtítulos por la comunidad de Amara.org 00:56:45
Subtítulos por la comunidad de Amara.org 00:57:15
Subtítulos por la comunidad de Amara.org 00:57:45
Subtítulos por la comunidad de Amara.org 00:58:15
Subtítulos por la comunidad de Amara.org 00:58:45
Subtítulos por la comunidad de Amara.org 00:59:15
Subtítulos por la comunidad de Amara.org 00:59:45
Subtítulos por la comunidad de Amara.org 01:00:15
Subtítulos por la comunidad de Amara.org 01:00:45
Subtítulos por la comunidad de Amara.org 01:01:15
Subtítulos por la comunidad de Amara.org 01:01:45
Subtítulos por la comunidad de Amara.org 01:02:15
Subtítulos por la comunidad de Amara.org 01:02:45
Subtítulos por la comunidad de Amara.org 01:03:15
Subtítulos por la comunidad de Amara.org 01:03:45
Subtítulos por la comunidad de Amara.org 01:04:15
Subtítulos por la comunidad de Amara.org 01:04:45
Subtítulos por la comunidad de Amara.org 01:05:15
Subtítulos por la comunidad de Amara.org 01:05:45
Subtítulos por la comunidad de Amara.org 01:06:15
Subtítulos por la comunidad de Amara.org 01:06:45
Subtítulos por la comunidad de Amara.org 01:07:15
Subtítulos por la comunidad de Amara.org 01:07:45
Subtítulos por la comunidad de Amara.org 01:08:15
Subtítulos por la comunidad de Amara.org 01:08:45
Subtítulos por la comunidad de Amara.org 01:09:15
Subtítulos por la comunidad de Amara.org 01:09:45
Subtítulos por la comunidad de Amara.org 01:10:15
Subtítulos por la comunidad de Amara.org 01:10:45
Subtítulos por la comunidad de Amara.org 01:11:15
Subtítulos por la comunidad de Amara.org 01:11:45
Subtítulos por la comunidad de Amara.org 01:12:15
Subtítulos por la comunidad de Amara.org 01:12:45
Subtítulos por la comunidad de Amara.org 01:13:15
Subtítulos por la comunidad de Amara.org 01:13:45
Subtítulos por la comunidad de Amara.org 01:14:15
Subtítulos por la comunidad de Amara.org 01:14:45
Subtítulos por la comunidad de Amara.org 01:15:15
Subtítulos por la comunidad de Amara.org 01:15:45
Subtítulos por la comunidad de Amara.org 01:16:15
Subtítulos por la comunidad de Amara.org 01:16:45
Subtítulos por la comunidad de Amara.org 01:17:15
Subtítulos por la comunidad de Amara.org 01:17:45
Subtítulos por la comunidad de Amara.org 01:18:15
Subtítulos por la comunidad de Amara.org 01:18:45
Subtítulos por la comunidad de Amara.org 01:19:15
Subtítulos por la comunidad de Amara.org 01:19:45
Subtítulos por la comunidad de Amara.org 01:20:15
Subtítulos por la comunidad de Amara.org 01:20:45
Subtítulos por la comunidad de Amara.org 01:21:15
Subtítulos por la comunidad de Amara.org 01:21:45
Subtítulos por la comunidad de Amara.org 01:22:15
Subtítulos por la comunidad de Amara.org 01:22:45
Subtítulos por la comunidad de Amara.org 01:23:15
Subtítulos por la comunidad de Amara.org 01:23:45
Subtítulos por la comunidad de Amara.org 01:24:15
Subtítulos por la comunidad de Amara.org 01:24:45
Subtítulos por la comunidad de Amara.org 01:25:15
Subtítulos por la comunidad de Amara.org 01:25:18
Subtítulos por la comunidad de Amara.org 01:25:45
Subtítulos por la comunidad de Amara.org 01:26:15
Subtítulos por la comunidad de Amara.org 01:26:45
Subtítulos por la comunidad de Amara.org 01:27:15
Subtítulos por la comunidad de Amara.org 01:27:45
Subtítulos por la comunidad de Amara.org 01:28:15
Subtítulos por la comunidad de Amara.org 01:28:45
Subtítulos por la comunidad de Amara.org 01:29:15
Subtítulos por la comunidad de Amara.org 01:29:45
Subtítulos por la comunidad de Amara.org 01:30:15
Subtítulos por la comunidad de Amara.org 01:30:45
Subtítulos por la comunidad de Amara.org 01:31:15
Subtítulos por la comunidad de Amara.org 01:31:45
Subtítulos por la comunidad de Amara.org 01:32:15
Subtítulos por la comunidad de Amara.org 01:32:45
Subtítulos por la comunidad de Amara.org 01:33:15
Subtítulos por la comunidad de Amara.org 01:33:45
Subtítulos por la comunidad de Amara.org 01:34:15
Subtítulos por la comunidad de Amara.org 01:34:45
Subtítulos por la comunidad de Amara.org 01:35:15
Subtítulos por la comunidad de Amara.org 01:35:45
Subtítulos por la comunidad de Amara.org 01:36:15
Subtítulos por la comunidad de Amara.org 01:36:45
Subtítulos por la comunidad de Amara.org 01:37:15
Subtítulos por la comunidad de Amara.org 01:37:45
Subtítulos por la comunidad de Amara.org 01:38:15
Subtítulos por la comunidad de Amara.org 01:38:45
Subtítulos por la comunidad de Amara.org 01:39:15
Subtítulos por la comunidad de Amara.org 01:39:45
Subtítulos por la comunidad de Amara.org 01:40:15
Subtítulos por la comunidad de Amara.org 01:40:45
Subtítulos por la comunidad de Amara.org 01:41:15
Subtítulos por la comunidad de Amara.org 01:41:45
Subtítulos por la comunidad de Amara.org 01:42:15
Subtítulos por la comunidad de Amara.org 01:42:45
Subtítulos por la comunidad de Amara.org 01:43:15
Subtítulos por la comunidad de Amara.org 01:43:45
Subtítulos por la comunidad de Amara.org 01:44:15
Subtítulos por la comunidad de Amara.org 01:44:45
Conocemos todas las funciones y qué es un parámetro y cómo pasárselo. 01:45:15
Entonces tenemos un diccionario armario que lo tenemos aquí abajo, 01:45:21
en el que tenemos pantalones con su talla y el color. 01:45:27
Entonces lo que vamos a hacer es lo siguiente. 01:45:33
Tenemos la estructura clave valor, queremos implementar una función que añada la ropa 01:45:38
que pasemos como parámetros, el nombre, talla y color. 01:45:43
Por defecto el color va a ser negro, es una persona que le gusta la ropa oscura, 01:45:48
entonces vamos a poner el valor por defecto. 01:45:54
Se devolverán dos parámetros, un booleano, que indica si todo ha ido bien en el proceso 01:46:00
y los detalles, qué ha pasado, qué ha sucedido. 01:46:06
Casuísticas que queremos contemplar, si algún campo está vacío devolveremos false, 01:46:13
en el booleano devolveremos un false y el texto, algún campo está vacío. 01:46:20
Si existe la prenda que queremos añadir, entonces devolveremos false, 01:46:28
la prenda ya está en el armario, pero tienen que cumplirse las tres condiciones 01:46:36
que exista en esta clave, en la clave pantalones, 01:46:40
que sea la misma talla y el mismo color. 01:46:45
Tienen que cumplirse estas tres condiciones. 01:46:48
Porque claro, si la talla es distinta o si el color es distinto, ya por tanto cambia. 01:46:53
Y si no existe, la creamos, añadimos un nuevo elemento. 01:47:00
Este como primer ejercicio. 01:47:07
Y luego como segundo ejercicio, os he añadido unas pequeñas pautas, 01:47:10
pero tampoco os sintáis obligados a hacerlo. 01:47:22
Esto, sobre todo este ejercicio, lo veo más útil para los chavales. 01:47:27
Este ejercicio de poder encriptar información de manera sencilla, 01:47:33
yo creo que les va a atraer mucho y por eso os lo he dejado aquí, 01:47:39
porque creo que va a captar la atención de los alumnos 01:47:43
y si en algún momento lo queréis utilizar por algo, 01:47:48
este ejercicio creo yo personalmente que va a atraer bastante. 01:47:52
Es crear una función que encripte el texto que le pasemos por parámetro. 01:48:00
Para ello tenemos una función que permite pasarle un texto 01:48:06
y devuelva el texto encriptado. 01:48:11
Aquí os explico que vamos a utilizar la encriptación CESAR, 01:48:15
que consiste en lo que vemos aquí en la imagen, 01:48:20
en convertir la A en una D en este caso, 01:48:23
pero vamos a hacer nada más de un valor. 01:48:28
La A sería la B, la B la C y así sucesivamente. 01:48:31
Entonces vamos a tener que ir recorriendo el texto. 01:48:35
Recorremos la frase que le hemos pasado por parámetro, 01:48:39
vamos a ir recorriendo carácter a carácter y vamos a ir sumándole 1. 01:48:48
¿Cómo sumamos 1? 01:48:52
Pues resulta que, os lo añado aquí en el comodín, 01:48:54
todos los caracteres en verdad son números, 01:48:59
están representados en una tabla así. 01:49:02
Entonces, por ejemplo, el espacio sería el número 32. 01:49:05
Entonces tenemos que saber cómo cambiar de un carácter al número 01:49:10
y el número al carácter. 01:49:15
De esta manera, y por eso se han añadido aquí las funciones. 01:49:18
ORD, la función ORD, le pasamos por parámetro el carácter 01:49:24
y nos devolverá el número decimal. 01:49:30
Luego CHR hará el proceso inverso, de número a carácter. 01:49:36
Entonces el ejercicio es ir recorriendo esa frase, 01:49:42
cambiar carácter a carácter, ir guardándolo 01:49:46
y cambiándolo por 1 a la derecha. 01:49:51
Lo que sería sumarle 1 a este decimal. 01:49:57
Si, por ejemplo, le metemos en la cadena el carácter 4, 01:50:01
que lo cambie por el carácter 5, de esta manera. 01:50:05
Sumamos 1, 52 a 53. 01:50:09
Os voy a dejar 10 minutines para que hagáis el ejercicio. 01:50:12
Y os digo, este, si os lo veis muy complicado, no pasa nada. 01:50:15
Ya os lo explico yo luego. 01:50:19
Así que nada, os dejo 10 minutines y hacéis los ejercicios. 01:50:22
Subtítulos realizados por la comunidad de Amara.org 01:50:52
Subtítulos realizados por la comunidad de Amara.org 01:51:22
Subtítulos realizados por la comunidad de Amara.org 01:51:52
Subtítulos realizados por la comunidad de Amara.org 01:52:22
Subtítulos realizados por la comunidad de Amara.org 01:52:52
Subtítulos realizados por la comunidad de Amara.org 01:53:22
Subtítulos realizados por la comunidad de Amara.org 01:53:52
Subtítulos realizados por la comunidad de Amara.org 01:54:22
Subtítulos realizados por la comunidad de Amara.org 01:54:52
Subtítulos realizados por la comunidad de Amara.org 01:55:22
Subtítulos realizados por la comunidad de Amara.org 01:55:52
Subtítulos realizados por la comunidad de Amara.org 01:56:22
Subtítulos realizados por la comunidad de Amara.org 01:56:52
Subtítulos realizados por la comunidad de Amara.org 01:57:22
Subtítulos realizados por la comunidad de Amara.org 01:57:52
Subtítulos realizados por la comunidad de Amara.org 01:58:22
Subtítulos realizados por la comunidad de Amara.org 01:58:52
Subtítulos realizados por la comunidad de Amara.org 01:59:22
Subtítulos realizados por la comunidad de Amara.org 01:59:52
Subtítulos realizados por la comunidad de Amara.org 02:00:22
Subtítulos realizados por la comunidad de Amara.org 02:00:52
Subtítulos realizados por la comunidad de Amara.org 02:01:22
Subtítulos realizados por la comunidad de Amara.org 02:01:52
Subtítulos realizados por la comunidad de Amara.org 02:02:22
Subtítulos realizados por la comunidad de Amara.org 02:02:52
Subtítulos realizados por la comunidad de Amara.org 02:03:22
Subtítulos realizados por la comunidad de Amara.org 02:03:52
Subtítulos realizados por la comunidad de Amara.org 02:04:22
Subtítulos realizados por la comunidad de Amara.org 02:04:52
Subtítulos realizados por la comunidad de Amara.org 02:05:22
Subtítulos realizados por la comunidad de Amara.org 02:05:52
Subtítulos realizados por la comunidad de Amara.org 02:06:22
Subtítulos realizados por la comunidad de Amara.org 02:06:52
Subtítulos realizados por la comunidad de Amara.org 02:07:22
Subtítulos realizados por la comunidad de Amara.org 02:07:52
Subtítulos realizados por la comunidad de Amara.org 02:08:22
Subtítulos realizados por la comunidad de Amara.org 02:08:52
Subtítulos realizados por la comunidad de Amara.org 02:09:22
Pantalones 02:09:52
Un XL 02:10:03
Y va a ser azul 02:10:07
Y va a ser azul 02:10:22
No sé por qué es igual a color 02:10:28
No, lo que estamos es estableciendo la nueva talla 02:10:31
Porque ya estamos viendo que si no se ha cumplido ninguna de estas condiciones 02:10:35
O sea, si no existe, en el caso de que no exista, la añadimos 02:10:41
Entonces, para añadir algo, lo que hacemos es crear el nuevo, talla 02:10:47
Lo que nos pasen por parámetro, el texto, se añadirá al diccionario 02:10:54
Pasarás y lo veremos ahora, mira 02:10:59
Si creo pantalones ya existe, vale 02:11:01
Va a entrar en esta función y va a decirle talla 02:11:04
Esta condición no se va a cumplir 02:11:09
En pantalones no hay un XL 02:11:11
No hay una clave XL, con lo cual aquí no va a entrar, vale 02:11:14
Va a entrar aquí en el else 02:11:18
Si no se ha cumplido algo de aquí, entonces se mete aquí 02:11:20
Añade la talla y le asigna el color, vale 02:11:25
Por último 02:11:32
Print 02:11:38
Juliano 02:11:40
Print 02:11:42
Detalles 02:11:44
Lo verás ahora mismo 02:11:46
Primero cargamos armario 02:11:48
True, la pregunta está añadida 02:11:52
Nos hemos equivocado y le hemos pasado una variable vacía 02:11:58
Pues, false, algún campo está vacío 02:12:02
Por ejemplo, imaginaos que hemos pasado algo que no es falda 02:12:07
No es falda azul, vale 02:12:14
Entonces 02:12:17
True, la pregunta está añadida 02:12:20
Vamos a ver la salida 02:12:22
Print 02:12:25
Vale 02:12:27
Y armario 02:12:29
Vale, entonces ahora tendríamos pantalones 02:12:36
Tendríamos una S, negro, un XL, azul 02:12:38
Una falda, que es la nueva que hemos añadido, XL, azul 02:12:43
Vale 02:12:50
Este sería el primer ejercicio 02:12:54
El segundo 02:12:56
Vamos a ver 02:13:00
Vale 02:13:03
Entonces vamos a crear la función tef 02:13:05
Encriptar 02:13:10
Tenemos que pasar un texto 02:13:12
Dos puntos, vale 02:13:16
Entonces, por una parte, vamos a guardar el result 02:13:19
Vamos a tenerlo ya almacenado 02:13:24
Result 02:13:27
Cadena vacía, tenemos ahí 02:13:30
Y luego vamos a ir añadiendole, vale 02:13:32
Perfecto, entonces vamos a recorrer el texto 02:13:38
For 02:13:42
Indice 02:13:44
Range 02:13:47
Len, el tamaño 02:13:49
Vamos a recorrer el tamaño 02:13:51
Tamaño del texto 02:13:54
Abre 02:13:56
Texto 02:13:57
Cierra, cierra 02:13:58
Así 02:14:00
Vale 02:14:02
Vamos a ir recorriendo, entonces 02:14:04
Texto 02:14:06
Vamos a guardar una variable para que nos quede un poco más clara 02:14:09
Carácter 02:14:13
Es igual a 02:14:15
Texto 02:14:16
Índice 02:14:19
Lo vamos a pasar por ahí 02:14:20
Entonces aquí ya vamos a ir recorriendo el índice, vale 02:14:22
Carácter 02:14:28
Para poder verlo bien 02:14:34
Vamos a ponerlo aquí, carácter 02:14:36
Imprimir el carácter 02:14:39
Vamos a hacerlo mejor, para que quede más claro 02:14:46
Vamos a ponerle 02:14:51
La letra 02:14:55
Espacio 02:14:58
Más carácter 02:15:00
Se transforma en 02:15:07
Ramos 02:15:11
Vale 02:15:15
Vamos a hacer aquí el 02:15:19
chr 02:15:21
Este es el que convertía el número 02:15:23
El número en carácter, vale 02:15:27
Dentro vamos a hacer la transformación 02:15:32
El ORD 02:15:35
Vale 02:15:38
del carácter 02:15:39
Carácter más uno 02:15:41
Lo estoy haciendo en una línea pero podría haberlo hecho en varias, vale 02:15:45
Podemos hacerlo aquí, mira 02:15:48
Vamos a llamar carácter 02:15:52
Encriptado 02:15:55
Vale, o modificado 02:15:58
Mod carácter 02:16:00
Modificado 02:16:03
Vale 02:16:05
Cogemos este 02:16:07
La transformación 02:16:09
Las dos paréntesis importantes 02:16:11
De esta manera obtenemos el carácter modificado, se transforma en 02:16:16
Carácter 02:16:21
Más 02:16:23
Carácter 02:16:25
Modificado 02:16:27
Vale 02:16:30
Hasta aquí, hasta aquí la línea 02:16:31
Y vamos a añadirlo al resultado 02:16:34
Entonces result 02:16:37
Más igual 02:16:39
Carácter 02:16:43
Modificado 02:16:45
Result 02:16:47
Result 02:16:53
Salimos de la tabulación una 02:16:58
Para decir cuando termine el FOR 02:17:00
RETURN 02:17:03
Result, vale 02:17:05
Muy bien 02:17:10
Imprimimos 02:17:13
Bueno, hacemos la llamada 02:17:15
Texto 02:17:18
Encriptado 02:17:21
Encriptar 02:17:28
Y le pasamos el texto 02:17:31
Esto igual 02:17:36
Esto es un 02:17:38
Secreto 02:17:40
Vale 02:17:42
Texto 02:17:45
Print 02:17:49
Texto 02:17:53
Encriptado 02:17:55
A ver si ha ido todo bien 02:17:59
Vale, print 02:18:04
Siempre se me olvida cerrarlo 02:18:06
Y más 02:18:10
Encriptado 02:18:12
Concatenar 02:18:14
Print 02:18:20
Print 02:18:40
Texto 02:18:42
Encriptado 02:18:44
Print 02:18:46
Texto 02:18:48
Encriptado 02:18:50
Print 02:18:54
Print 02:19:00
Texto 02:19:02
Encriptado 02:19:04
Print 02:19:06
Print 02:19:08
Texto 02:19:12
Encriptado 02:19:14
Print 02:19:16
Texto 02:19:18
Encriptado 02:19:20
Print 02:19:22
Texto 02:19:28
Encriptado 02:19:30
Print 02:19:32
Texto 02:19:34
Print 02:19:36
Print 02:19:40
Print 02:19:42
Print 02:19:44
Print 02:19:46
Print 02:19:48
Print 02:19:50
Print 02:19:52
Print 02:19:54
Print 02:19:56
Print 02:19:58
Print 02:20:00
Print 02:20:02
Print 02:20:04
Print 02:20:06
Print 02:20:08
Print 02:20:10
Print 02:20:12
Print 02:20:14
Print 02:20:16
Print 02:20:18
Print 02:20:20
Print 02:20:22
Print 02:20:24
Print 02:20:26
Print 02:20:28
Print 02:20:30
Print 02:20:32
Print 02:20:36
Print 02:20:38
Print 02:20:40
Print 02:20:42
Print 02:20:44
Print 02:20:46
Print 02:20:48
Print 02:20:49
Print 02:20:58
Funciones, argumentos, parámetros, módulos 02:21:00
Módulos son maneras de externalizar el código por ficheros 02:21:30
Lo que conseguimos es sacar el código en otros ficheros y por tanto simplemente en el caso de que necesitemos una funcionalidad o algo, lo que haremos será hacer un import 02:21:55
Accedemos a ese código entero, podemos hacer un import, por ejemplo existe el módulo JSON, este que veis aquí, entonces lo que haremos será un import JSON 02:22:11
JSON es un formato muy similar al visto en los diccionarios porque trabaja con clave valor y es un formato muy común dentro de la informática 02:22:30
Y bueno, es simplemente una explicación para ver que hay código que existe fuera de no solamente lo que hemos programado nosotros en nuestro fichero 02:22:55
Hay funcionalidad extra a la que podemos acceder, hay librerías externas y librerías internas, las librerías internas por ejemplo en el caso de JSON 02:23:12
Y otra manera de acceder, porque por ejemplo podemos hacer un import JSON o podemos hacer, dentro del JSON hay una función, lo que hemos visto hasta ahora es una función que se llama DUMPS 02:23:24
Pues esta función lo que hace es serializar el objeto en un JSON, serializar el diccionario en un formato JSON, lo que nos generaría sería una estructura muy similar al diccionario pero estructurada y demás 02:23:41
Sí, os lo he explicado un poco más abajo, tenéis aquí la dirección para si queréis consultar un poco más, simplemente ya os digo, JSON es un ejemplo, hay muchísimos más, hay MA, pero también hay IMPORT, MAG que también nos permite hacer operaciones 02:24:00
Otro ejemplo, luego lo veremos, no hay ningún problema, entonces para que lo veáis, el código nosotros no lo vemos, pero si queremos consultar algo lo que haremos será irnos a la dirección que vimos aquí, que es la documentación oficial de Python 02:24:27
Y dentro de esa, las librerías JSON, y en el código lo que veremos será esto, si lo reconocéis, esto es DER, DUMPS, y luego le vamos a pasar parámetros, asterisco que significa un sinfín de parámetros, se lo podemos pasar por aquí 02:24:50
Y hace cosas específicas y luego le estipula por aquí los diferentes parámetros por defecto, si queremos saltarnos la aquí, miles de funcionalidades, no nos vamos a meter en ellas la verdad 02:25:18
La única que he considerado importante es la de INTENT, ya que nos permite hacer una tabulación de los elementos, de manera que se vean de manera bonita, es como cuando se le ha puesto el diccionario del armario, verlo así de bonito, porque cuando nosotros imprimimos, está aquí tabulado 02:25:36
Y luego cuando lo imprimimos queda así de feo, JSON es lo mismo, es un diccionario, pero está tabulado y demás, entonces para ello lo que haremos será este ejemplo, el de importar un JSON, importar la librería JSON 02:26:01
Y una vez ya la tenemos cargada, lo que haremos será imprimir, nos va a convertir DUMPS, nos convertirá el armario, le estamos pasando el armario como un parámetro, objeto este 02:26:23
Y le estamos diciendo, oye, añádeme una tabulación de 4, y se muestra así de bonito, aquí está metiendo 4 espacios, está convirtiendo el diccionario en un texto, esto es lo que saca por pantalla, es un texto, así con esta estructura 02:26:39
Es simplemente para que lo tengáis en cuenta, no he ahondado más en ello, porque para ello habría que profundizar más en este área, es muy amplio 02:27:04
Tenemos también los paquetes, si crece mucho la funcionalidad JSON por ejemplo, imaginaos que tiene varios ficheros, con muchísimas funciones, os lo he puesto a modo de ejemplo con lo del armario 02:27:22
Supongamos que el número de ficheros aumenta extensiblemente y tenemos varios módulos y queremos ser ordenados, vamos a crear un paquete que se llame armario y dentro módulos que son realmente ficheros 02:27:41
Los módulos realmente son ficheros, como aquí arriba sería el fichero JSON.py en el que tenemos toda esta información, pues tendríamos gestión de zapatos, gestión de cinturones, calcetines, faldas, imaginaos que es un armario y una gestión brutal del código 02:27:59
Es una manera de tenerlo organizado y de acceder a esa información, a esa implementación, ese código de manera ordenada 02:28:21
Vamos a crear una carpeta, todo esto lo va a hacer este código de aquí abajo, lo tenéis que ejecutar una única vez 02:28:36
Lo que va a hacer es, aquí a la izquierda tenemos una carpetita y una vez ya ejecutemos este código nos va a crear una carpeta llamada pkg y dentro un fichero que hemos llamado operaciones.py 02:28:50
Este fichero le podéis dar doble clic y veréis que tenemos aquí dos funciones 02:29:14
No os preocupéis por este código, si queréis os lo explico, pero es simplemente para crear, digamos que esto sería una manera de crear código, crear un entorno estable dentro de vuestro Jupyter 02:29:21
En el que hemos creado una carpeta hemos utilizado la librería os y hemos llamado a la función mkdir, mkdir lo que hace es crear una carpeta con el nombre que nosotros le pasamos por parámetro, pkg 02:29:46
Lo que hemos hecho es eso, y luego posteriormente, esto es un poco más avanzado, pero esto lo que hace es crear un fichero, escribir un fichero con el nombre que nosotros le pasemos, esta es la ruta específica de Jupyter 02:30:06
para acceder, barra, drive, barra, esto es un poco técnico, pero bueno, para que lo entendáis, nunca está mal 02:30:24
Luego el with es una palabra reservada que lo que hace es, mantiene abierto algo, hace una operación de open, la mantiene abierta, ese fichero lo mantiene abierto, le estamos diciendo, ábreme este fichero en modo escribir con este nombre 02:30:36
El as lo que hace es, digamos, hacer una especie de alias, entonces el fichero, el nombre con el que nos vamos a referir al fichero, file, le vamos a realizar la acción de write, el módulo write nos va a escribir en el fichero, nos va a añadir todo el texto que hemos visto aquí 02:30:58
Esto es un poco técnico, ya os digo, pero bueno, que lo sigáis 02:31:24
Subido por:
Innovacion
Licencia:
Reconocimiento - No comercial - Compartir igual
Visualizaciones:
49
Fecha:
23 de enero de 2024 - 19:14
Visibilidad:
Público
Centro:
C RECURSOS INNOVACIÓN
Duración:
2h′ 31′ 28″
Relación de aspecto:
1.78:1
Resolución:
2400x1350 píxeles
Tamaño:
762.21 MBytes

Del mismo autor…

Ver más del mismo centro


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid