Saltar navegación

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

Bucles en Python - TICO - 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 28 de abril de 2020 por Fernando M.

142 visualizaciones

Descargar la transcripción

Vale, en esta clase vamos a explicar lo que son los bucles y cómo se hacen en Python, ¿vale? 00:00:00
Cómo se construyen y, bueno, básicamente un bucle es simplemente una parte de código que hace que otra se ejecute de forma cíclica, ¿vale? 00:00:07
Es decir, que se ejecute muchas veces. ¿Cuántas veces? Tantas como nosotros queramos, ¿vale? 00:00:18
Voy a explicar, voy a mostrar un ejemplo de por qué tenemos la necesidad de utilizar esos bucles, ¿vale? 00:00:23
Y luego vamos a ir aprendiendo diferentes formas de hacer esos bucles, ¿vale? 00:00:30
Entonces, nos vamos a ir a nuestro compilador online o a nuestro compilador offline, como ya expliqué, ¿vale? 00:00:34
Y vamos a imaginar que nosotros queremos, esto es un ejemplo muy absurdo, ¿vale? 00:00:41
Pero vamos a imaginar que nosotros queremos imprimir hola por pantalla 10 veces, ¿vale? 00:00:46
Entonces, imprimir hola por pantalla implicaría hacer, pues, 10 líneas de código como las que veis ahí, ¿vale? 00:00:51
Que al final es repetir muchas veces el mismo código, ¿vale? 00:01:00
Lo cual, pues si queremos hacer algo de forma repetitiva, no tiene sentido. 00:01:04
Entonces, si yo ejecuto esto, ¿vale? 00:01:08
Vemos que lo que tenemos es hola escrito muchas veces, ¿vale? 00:01:11
Entonces, ¿qué permite la programación? 00:01:16
No solo Python, sino que lo permite cualquier lenguaje de programación, es utilizar bucles. 00:01:19
Para ello, encontraremos dos formas de hacer bucles. 00:01:23
Utilizando la palabra clave FOR o WHILE 00:01:26
¿Vale? 00:01:30
Entonces, ¿cómo hacemos un bucle? 00:01:32
Utilizando, por ejemplo, vamos a empezar con FOR 00:01:34
¿Vale? 00:01:37
La construcción del FOR siempre va a ser la misma 00:01:37
Va a ser FOR en minúscula 00:01:40
¿Vale? 00:01:42
Va a tener una variable que va a modificar su valor 00:01:42
En cada repetición 00:01:47
Y luego, otra palabra clave que es IN 00:01:50
Y luego habrá una situación que será la condición 00:01:56
¿Vale? 00:02:02
Digamos 00:02:02
¿Vale? 00:02:03
Y finalmente los dos puntos 00:02:04
Y luego dentro de todo lo que queramos que haga el for 00:02:07
Es cuando vamos a tabular 00:02:09
¿Vale? 00:02:11
Entonces, vamos a poner un ejemplo 00:02:12
Ponemos for, una variable cualquiera 00:02:14
Yo voy a poner i 00:02:17
¿Vale? 00:02:18
Luego pongo in 00:02:19
Y ahora, ¿cuál es la condición? 00:02:21
La condición es que la i llegue a un valor 00:02:22
que sea máximo 00:02:28
¿vale? 00:02:30
de 10 elementos, es decir, range 00:02:32
valga 10 00:02:34
¿vale? entonces 00:02:35
yo ahora dentro del form 00:02:37
imprimo hola 00:02:40
¿vale? y todo esto ya 00:02:42
toda esta parte de código me sobra 00:02:44
entonces si yo ejecuto 00:02:47
esto ahora, fijaros 00:02:49
¿vale? que nos ha ejecutado 00:02:50
hola varias veces 00:02:52
y diréis, vale, entonces la variable 00:02:54
i que has creado, ¿para qué sirve? Pues yo, por ejemplo, puedo hacer uso de esa variable 00:02:56
i. ¿Cómo la uso? Pues la voy a utilizar dentro del print, ¿vale? Y pongo, hola, esta es 00:03:02
la vez número, y ahora pongo i, ¿vale? Es decir, imprime i, que te saludo, ¿vale? Y 00:03:08
ejecutamos. Y fijaros. Hola, esta es la vez número 0 que te saludo. ¿Por qué? Porque 00:03:23
ahí empieza en 0, ¿vale? Y va a hacer 10 elementos. Entonces va a ir desde 0 hasta 00:03:30
9, ¿vale? Lo que me permite el uso de la función range es decirle desde dónde quiero 00:03:35
empezar. Si yo le digo, por ejemplo, ahora que en vez de dejarla sin nada, pongo desde 00:03:42
de 4 hasta 10, ¿vale? Y ejecuto, fijaros, ahora me dice, hola, esta es la vez, número 4 que te saludo, 00:03:49
luego me dice la número 5, 6, hasta que llega 9, ¿vale? 00:03:56
Incluso, ¿vale? Voy a volver a ponerlo en 0, yo puedo modificar cada cuánto aumento es ahí, ¿vale? 00:04:01
Si yo pongo aquí el valor 3, por ejemplo, y ejecuto, fijaros, la i empieza en 0, luego vale 3, luego vale 6 y luego vale 9, 00:04:07
Es decir, la iba aumentando cada tres valores 00:04:18
¿Cuál es la diferencia de hacer esto con un for y hacerlo con un while? 00:04:21
La principal diferencia es que si lo hacemos con un for 00:04:29
El for ya modifica automáticamente la variable 00:04:33
Me explico 00:04:36
Para hacerlo con un while 00:04:37
El uso del while sería while y entre paréntesis la condición 00:04:39
Y finalmente los dos puntos 00:04:46
Entonces, fijaros, yo cojo ahora y me decino 00:04:49
Vamos a hacer que de la misma forma nos imprima 00:04:54
Hola, esta es la vez, número x, que te saludo 00:05:00
Exactamente lo mismo, el mismo código 00:05:06
Entonces yo ahora me voy a crear una variable que llamo x 00:05:08
Y la inicializo a 0 00:05:11
¿Vale? Y digo, mientras que X sea menor que 10, que me imprima esto, ¿vale? 00:05:13
Donde aquí en vez de Y ponemos X, ¿vale? 00:05:27
Entonces, fijaros ahora, si yo ahora imprimo, si yo ahora ejecuto 00:05:30
Fijaros que está ejecutando todo el rato sin parar y está apareciendo el mismo mensaje 00:05:35
Hola, está en la vez número 0, que te saludo 00:05:43
¿Esto por qué? 00:05:45
Pues porque estamos dentro del y, ¿vale? 00:05:45
Y la variable x no la estamos modificando 00:05:49
Por lo tanto, siempre estamos ejecutando lo mismo, ¿vale? 00:05:52
Entonces, si yo quiero que eso cambie 00:05:56
Yo aquí dentro tendría que ponerle x más igual 1, ¿vale? 00:05:57
Que esto recuerdo que era lo mismo que decir que x es igual a x más 1, ¿vale? 00:06:03
Entonces fijaros si yo ejecuto ahora 00:06:09
Ahora el código ha parado, ¿vale? 00:06:11
¿Por qué? Bueno, aquí es que ha ejecutado dos veces, esta parte de aquí correspondería, de aquí para arriba es el for y de aquí para abajo sería el while, ¿vale? 00:06:15
Fijaros, ahora sí para, ¿por qué? Porque ejecuta cuando x vale 0, ejecuta esta línea, ¿vale? 00:06:25
A continuación le cambia el valor a la x, ahora la x para 1, y se sube al while a hacer la comprobación, ¿es la x mayor que 10? ¿Es igual a 10? Perdón, no, por lo tanto vuelve a ejecutar otra vez esto. 00:06:33
Y así cíclicamente, ¿vale? 00:06:49
Y va ejecutando todas las diferentes iteraciones que nosotros le digamos 00:06:52
Si yo ahora aquí en vez de 10 pongo 5, ¿vale? 00:06:57
Fijaros que llego hasta la iteración 4, ¿vale? 00:07:00
Bueno, llego hasta la iteración 5 y el índice 4 00:07:04
Porque sería 0, 1, 2, 3, 4 00:07:07
¿Vale? 00:07:08
Por lo tanto, me da la capacidad de hacer lo mismo de dos formas diferentes 00:07:11
¿Vale? 00:07:17
¿Cuál es mejor? 00:07:18
Pues ni es una mejor ni es otra mejor 00:07:20
En unos momentos es mejor utilizar 00:07:22
Es más cómodo utilizar una 00:07:24
Por si ya tienes las variables definidas 00:07:25
Por si las quieres modificar o lo que sea 00:07:27
¿Vale? 00:07:29
Ahora 00:07:32
¿Cómo? 00:07:32
¿Qué se suele hacer muchas veces? 00:07:36
Y esto se suele hacer más con el while que con el true 00:07:38
Que con el for, perdón 00:07:41
Se suele hacer una cosa que se llama 00:07:43
Bucles infinitos 00:07:45
¿Vale? 00:07:46
Me explico 00:07:48
Si yo pongo aquí while true, esto es un bucle infinito, es decir, un bucle que se está ejecutando de forma infinita. 00:07:49
Yo pongo aquí print hola, ejecuto y veis que ahí va apareciendo por pantalla hola, hola, hola, hola, hola, hola, toda forma consecutiva. 00:07:58
¿Vale? Si yo ahora paro este código, ¿vale? Y yo justo debajo del hola pongo un break, ¿vale? Estoy acabando con el ciclo, estoy parando el ciclo. 00:08:08
Entonces, fijaros, va a entrar en el while, va a imprimir hola y se va a detener el bucle, ¿vale? Entonces, fijaros, ejecuto hola y se acabó, ¿vale? 00:08:22
Ahora, vamos a hacer una cosa 00:08:36
Voy a poner una variable fuera 00:08:39
¿Vale? 00:08:41
Que sea una variable un contador 00:08:42
¿Vale? 00:08:44
Que empiece en 0 00:08:45
Y que imprima 00:08:46
Que imprima hola 00:08:48
Y una vez que imprima hola 00:08:51
Aumente el valor de contador 00:08:52
Contador más igual 1 00:08:55
¿Vale? 00:08:57
Lo aumente de 1 en 1 00:08:58
Y cuando contador sea igual a 10 00:08:59
¿Vale? 00:09:04
O igual a 5 para que haga menos repeticiones 00:09:09
Que en ese momento pare el bucle 00:09:11
Es decir, que vamos a tener que imprimir hola 5 veces 00:09:13
¿Vale? 00:09:16
Le doy a ejecutar 00:09:18
Y fijaros, el código ha terminado 00:09:19
¿Vale? 00:09:21
Y tenemos 1, 2, 3, 4 y 5 repeticiones de hola 00:09:22
¿Vale? 00:09:27
Es decir, que el break nos permite cortar un bucle del tirón 00:09:28
¿Vale? 00:09:34
Si es un bucle infinito o si no 00:09:35
Entonces, ¿esto para qué nos viene bien? 00:09:36
Pues por ejemplo, si nosotros le estamos pidiendo información al usuario y yo le digo al usuario 00:09:39
A es igual a input de ¿estás de acuerdo? 00:09:43
Y le digo ¿sí o no? ¿Vale? Responde sí o no. 00:09:58
Y ahora, si responde sí, si A es igual a sí, en ese caso acabo con el bucle. 00:10:02
Y si no, le pregunto otra vez. ¿Vale? Así hasta que esté de acuerdo, hasta que diga 00:10:09
¡Oh, qué pesado! ¿Vale? ¿Está de acuerdo? No. 00:10:14
Otra vez. ¿Está de acuerdo? Que no. ¿Está de acuerdo? No. 00:10:18
¿Y ahora está de acuerdo? Sí. Y se acaba el programa. 00:10:21
¿Vale? 00:10:25
Ahora, vamos a hacer otra palabra clave que está puesta en los apuntes para detener los bucles, ¿vale? 00:10:27
Que es el continuo, ¿vale? Para que veáis la diferencia. 00:10:34
Bien, entonces, vamos a imaginarnos que yo defino un contador, ¿vale? 00:10:40
Que empieza en 0, al igual que este, ¿vale? 00:10:46
Tengo mi bucle infinito, ¿vale? 00:10:50
O bueno, no, no voy a hacer un bucle infinito, voy a decir hasta que el contador sea mayor que 20, ¿vale? 00:10:54
Y ahora, digo, contador más igual 1, ¿vale? 00:11:02
Aumento el valor de contador. 00:11:09
Y ahora, si contador es igual a 5, ¿vale? 00:11:11
Lo que voy a hacer aquí es un continuo, ¿vale? 00:11:15
Y si no, imprimo el valor de contador, ¿vale? 00:11:21
Es decir, este código me va imprimiendo la variable contador empezando en 0, ¿vale? 00:11:27
Bueno, realmente va a empezar en 1 porque aquí ya le voy a cambiar yo el valor, ¿vale? 00:11:31
Antes de imprimirlo. 00:11:35
Y imprime, imprime, imprime, y algo diferente va a pasar cuando llegue a 5, ¿vale? 00:11:37
Fijaros. 00:11:43
¿Se ha guardado? 00:11:49
Perdón, es que me he equivocado. 00:11:58
Vale. 00:12:01
Ahí. 00:12:04
¿Vale? 00:12:05
Fijaros. 00:12:05
Contador imprime 1, 2, 3, 4, ¿y qué ha pasado? 00:12:09
Que el 5 se lo ha saltado. 00:12:13
¿Por qué? 00:12:15
Porque está el CONTINUE 00:12:15
Al estar el CONTINUE 00:12:17
En vez de seguir ejecutando para abajo 00:12:18
Lo que hace es que se va arriba 00:12:21
Y vuelve a empezar otra vez 00:12:23
¿Vale? 00:12:25
Fijaros la diferencia entre poner CONTINUE y poner BREAK 00:12:26
Si yo pongo aquí un BREAK 00:12:29
¿Vale? 00:12:30
Cuando llega a 5 00:12:31
El contador termina 00:12:33
Completamente 00:12:35
¿Vale? 00:12:36
Sin embargo, si pongo CONTINUE 00:12:37
El contador se salta el 5 00:12:39
Pero sigue otra vez 00:12:47
¿Vale? 00:12:48
Sigo otra vez iterando hasta que cumple ya la condición del while, ¿vale? 00:12:49
Que era el 20, ¿vale? 00:12:54
¿Ok? 00:12:56
Vale, pues ya lo último que me queda por explicar es cómo hacer un bucle con listas, ¿vale? 00:13:00
Que esto es muy útil, especialmente si queremos recorrer una lista. 00:13:05
Vamos a imaginarnos que nosotros lo queremos hacer sobre una lista de alumnos, ¿vale? 00:13:09
Por ejemplo, yo pongo aquí una lista, pongo alumnos y pongo nombres, ¿vale? 00:13:14
Pepe, Rosa, Ana, Juan y Carmen, ¿vale? 00:13:20
Todo eso. 00:13:33
Entonces, yo cojo y digo for n, ¿vale? 00:13:35
Es decir, la variable que va a cambiar va a ser n. 00:13:42
Y ahora digo, ¿dónde va a cambiar esa variable? 00:13:45
Esa variable va a cambiar en alumnos, ¿vale? 00:13:47
Y imprímeme la variable n 00:13:52
Entonces fijaros 00:13:55
Ahora lo que va haciendo es que 00:13:56
Va a ir recorriendo el bucle 00:13:59
Va a ir sacando el contenido de la lista 00:14:01
Y lo va metiendo en n 00:14:03
¿Vale? 00:14:04
Pero lo va a ir sacando de uno en uno 00:14:05
Por lo tanto aquí veis que primero imprime Pepe 00:14:07
Luego imprime Rosa 00:14:09
Luego imprime Ana 00:14:11
Juan y Carmen 00:14:12
¿Vale? 00:14:13
Entonces yo puedo manipular esa lista 00:14:14
O hacer uso de esa lista como yo quiera 00:14:16
Yo puedo aquí por ejemplo 00:14:18
Por poner un if 00:14:19
Si n es igual a ana 00:14:21
Pues que salude especialmente a ana 00:14:26
Y diga hola ana 00:14:30
¿Vale? 00:14:31
Entonces fijaros 00:14:33
El coge, recorre 00:14:34
Y en cuanto ha visto que n era ana 00:14:39
Imprime hola ana 00:14:41
¿Vale? 00:14:43
Entonces 00:14:45
Esto es para que veáis las posibilidades que nos da 00:14:46
El hacer bucles 00:14:50
Porque vamos a ser capaces de sacar información de una lista de forma cíclica y automática 00:14:52
Sin que nosotros tengamos que ir elemento tras elemento poniendo lo que pondríamos aquí en este caso 00:15:00
Que sería decir, alumnos de 0, alumnos de 1, que eso quieras que no, se lleva más tiempo 00:15:07
Especialmente cuando tenemos listas con muchos valores 00:15:18
Bueno, pues espero que os haya servido la clase de bucles 00:15:21
Y nos vemos en la siguiente 00:15:26
Que si tenéis cualquier duda, como digo siempre, al foro de la asignatura 00:15:30
Y ahí resolveremos dudas, entre todos 00:15:36
Muchas gracias, nos vemos 00:15:39
Valoración:
  • 1
  • 2
  • 3
  • 4
  • 5
Eres el primero. Inicia sesión para valorar el vídeo.
Materias:
Tecnologías de la Información
Niveles educativos:
▼ Mostrar / ocultar niveles
  • Bachillerato
    • Primer Curso
    • Segundo Curso
Autor/es:
Fernando Martínez Martí
Subido por:
Fernando M.
Licencia:
Reconocimiento - No comercial - Compartir igual
Visualizaciones:
142
Fecha:
28 de abril de 2020 - 13:49
Visibilidad:
Público
Centro:
IES EL BURGO - IGNACIO ECHEVERRÍA
Duración:
15′ 42″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
51.64 MBytes

Del mismo autor…

Ver más del mismo autor

Comentarios

Para publicar comentarios debes entrar con tu nombre de usuario de EducaMadrid.

Comentarios

Este vídeo todavía no tiene comentarios. Sé el primero en comentar.



EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid