Bucles en Python

Tutorial | Aprender Python

Un bucle o ciclo, en programación, es una secuencia que ejecuta repetidas veces un trozo de código, hasta que la condición asignada a dicho bucle deja de cumplirse. Los tres bucles más utilizados en programación son el bucle while, el bucle for y el bucle do-while.[201]

Bucle for

Un bucle for es un bucle que repite el bloque de instrucciones un número prederminado de veces. El bloque de instrucciones que se repite se suele llamar cuerpo del bucle y cada repetición se suele llamar iteración.[202]

In [1]:
for x in [4,3,5]:
    print(x)
4
3
5
In [2]:
print('Inicio')
for x in [6,4,6,7]:
    print('En el bucle for',x)
print('Fin')
Inicio
En el bucle for 6
En el bucle for 4
En el bucle for 6
En el bucle for 7
Fin

Bucle while

Un bucle while permite repetir la ejecución de un grupo de instrucciones mientras se cumpla una condición (es decir, mientras la condición tenga el valor True).[203]

In [4]:
print('Inicio')
i = 0
while i < 2:
    print('Valor:',i)
    i += 1
print('Fin')
Inicio
Valor: 0
Valor: 1
Fin

Ejemplos

Dibujar un cuadrado con asteriscos

In [8]:
n = int(input())
print(n,type(n))
for i in range(n):
    s = ''
    for j in range(n):
        s += '*'
    print(s)
5
5 <class 'int'>
*****
*****
*****
*****
*****

Dibujar un triángulo rectánculo con asteriscos

In [10]:
#n = int(input())
x = input()
n = int(x)
#print(n,type(n))
for i in range(n):
    s = ''
    for j in range(n):
        #s = s + str(i) + str(j) + '-'
        if j<=i:
            s = s + '*'
        else:
            s = s + ''
    print(s)
5
*
**
***
****
*****

Dibujar un rombo con asteristos

Se ingresa un número impar mayor o igual a 1.

In [82]:
x = input()
n = int(x)
for i in range(n):
    s = ''
    for j in range(n):
        t = '*'
        if j<(int(n/2)-i):
            t = '-'
        if j>(int(n/2)+i):
            t = '-'
        if j<i-int(n/2):
            t = '-'
        if j>=-i+n+int(n/2):
            t = '-'
        s = s + t
    print(s)
13
------*------
-----***-----
----*****----
---*******---
--*********--
-***********-
*************
-***********-
--*********--
---*******---
----*****----
-----***-----
------*------
In [83]:
x = input()
n = int(x)
for i in range(n):
    s = ''
    for j in range(n):
        if j<(int(n/2)-i):
            s = s + '-'
        elif j>(int(n/2)+i):
            s = s + '-'
        elif j<i-int(n/2):
            s = s + '-'
        elif j>=-i+n+int(n/2):
            s = s + '-'
        else:
            s = s + '*'
    print(s)
7
---*---
--***--
-*****-
*******
-*****-
--***--
---*---
In [84]:
x = input()
n = int(x)
for i in range(n):
    s = ''
    for j in range(n):
        t = int(n/2)
        if abs(i-t)+abs(j-t)<=t:
            s = s + '*'
        else:
            s = s + '-'
    print(s)
7
---*---
--***--
-*****-
*******
-*****-
--***--
---*---
Tutorial | Aprender Python