Activa JavaScript para disfrutar de los vídeos de la Mediateca.
Bucles en Python - TICO - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
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:
- Eres el primero. Inicia sesión para valorar el vídeo.
- 1
- 2
- 3
- 4
- 5
- 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
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.