Volver al índiceSoluciones de los ejercicios - Bucle for (2)

Se ofrecen a continuación unas posibles soluciones de los ejercicios de bucle for (2).


Bucles no anidados

for 2-01

# -*- coding: cp1252 -*-
anchura = int(raw_input("Anchura de la línea: "))

for i in range(anchura):
    print "+",

for 2-02

# -*- coding: cp1252 -*-
anchura = int(raw_input("Anchura de la línea: "))

print "+",
for i in range(anchura-2):
    print "-",
print "+"

for 2-03

# -*- coding: cp1252 -*-
altura = int(raw_input("Altura de la figura: "))

for i in range(altura):
    print "+"

Bucles anidados (variables independientes)

for 2-04

# -*- coding: cp1252 -*-
anchura = int(raw_input("Anchura del rectángulo: "))
altura = int(raw_input("Altura del rectángulo: "))

for i in range(altura):
    for j in range(anchura):
        print "*",
    print

for 2-05

# -*- coding: cp1252 -*-
anchura = int(raw_input("Anchura del rectángulo: "))
altura = int(raw_input("Altura del rectángulo: "))

for j in range(anchura):
    print "*",
print

for i in range(altura-2):
    print "*",
    for j in range(anchura-2):
        print " ",
    print "*"

for j in range(anchura):
    print "*",
print

for 2-06

# -*- coding: cp1252 -*-
anchura = int(raw_input("Anchura del rectángulo: "))
altura = int(raw_input("Altura del rectángulo: "))
numero = int(raw_input("Número de rectángulos en vertical: "))

for j in range(anchura):
    print "*",
print

for k in range(numero):
    for i in range(altura-2):
        print "*",
        for j in range(anchura-2):
            print " ",
        print "*"

    for j in range(anchura):
        print "*",
    print

for 2-07

# -*- coding: cp1252 -*-
anchura = int(raw_input("Anchura del rectángulo: "))
altura = int(raw_input("Altura del rectángulo: "))
numero = int(raw_input("Número de rectángulos en horizontal: "))

for j in range(anchura * numero - numero + 1):
    print "*",
print

for i in range(altura-2):
    for k in range(numero):
        print "*",
        for j in range(anchura-2):
            print " ",
    print "*"

for j in range(anchura * numero - numero + 1):
    print "*",
print

for 2-08

# -*- coding: cp1252 -*-
anchura = int(raw_input("Anchura del rectángulo: "))
altura = int(raw_input("Altura del rectángulo: "))
horizontal = int(raw_input("Número de rectángulos en horizontal: "))
vertical = int(raw_input("Número de rectángulos en vertical: "))

for j in range(anchura * horizontal - horizontal + 1):
    print "*",
print

for l in range(vertical):
    for i in range(altura-2):
        for k in range(horizontal):
            print "*",
            for j in range(anchura-2):
                print " ",
        print "*"

    for j in range(anchura * horizontal - horizontal + 1):
        print "*",
    print

Bucles anidados (variable dependientes)

for 2-09

# -*- coding: cp1252 -*-
altura = int(raw_input("Altura del triángulo: "))

for i in range(altura):
    for j in range(i + 1):
        print "*",
    print 

for 2-10

# -*- coding: cp1252 -*-
altura = int(raw_input("Altura del triángulo: "))

for i in range(altura, 0, -1):
    for j in range(i):
        print "*",
    print 
# -*- coding: cp1252 -*-
altura = int(raw_input("Altura del triángulo: "))

for i in range(altura):
    for j in range(altura - i):
        print "*",
    print 

for 2-11

# -*- coding: cp1252 -*-
altura = int(raw_input("Altura del triángulo: "))

for i in range(1, altura + 1):
    for j in range(altura - i):
        print " ",
    for j in range(i):
        print "*",
    print 

for 2-12

# -*- coding: cp1252 -*-
altura = int(raw_input("Altura del triángulo: "))

for i in range(altura):
    for j in range(i):
        print " ",
    for j in range(altura - i):
        print "*",
    print 

for 2-13

# -*- coding: cp1252 -*-
anchura = int(raw_input("Anchura del triángulo: "))

for i in range(1, anchura) + range(anchura, 0, -1):
    for j in range(i):
        print "*",
    print 

for 2-14

# -*- coding: cp1252 -*-
altura = int(raw_input("Altura del triángulo: "))

for i in range(1, altura+1):
    for j in range(altura - i):
        print " ",
    for j in range(1, 2 * i):
        print "*",
    print 

for 2-15

# -*- coding: cp1252 -*-
altura = int(raw_input("Altura de la línea: "))

for i in range(altura):
    for j in range(i):
        print " ",
    print "*"

for 2-16

# -*- coding: cp1252 -*-
altura = int(raw_input("Altura de la línea: "))

for i in range(altura, 0, -1):
    for j in range(i - 1):
        print "*",
    print 

for 2-17

# -*- coding: cp1252 -*-
altura = int(raw_input("Altura del dibujo: "))

for i in range(altura - 1):
    print " ",
print "*"

for i in range(altura - 1):
    for j in range(altura - i - 2):
        print " ",
    print "*",
    for j in range(2 * i + 1):
        print " ",
    print "*"

Esta página forma parte del curso "Introducción a la programación con Python" disponible en http://www.mclibre.org
Autor: Bartolomé Sintes Marco
Última modificación de esta página: 17 de mayo de 2012

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.