Se ofrecen a continuación unas posibles soluciones de los ejercicios ASCII bucle for (1).
anchura = int(input("Anchura de la línea: "))
for i in range(anchura):
print("+ ", end="")
anchura = int(input("Anchura de la línea: "))
print("+ ", end="")
for i in range(anchura - 2):
print("- ", end="")
print("+ ")
altura = int(input("Altura de la figura: "))
for i in range(altura):
print("+")
altura = int(input("Altura de la figura: "))
print("+ ")
for i in range(altura - 2):
print("|")
print("+ ")
Anchura del rectángulo: 5 Altura del rectángulo: 3
* * * * * * * * * * * * * * *
anchura = int(input("Anchura del rectángulo: "))
for j in range(anchura):
print("* ", end="")
print()
Anchura del rectángulo: 5* * * * *
|
Anchura del rectángulo: 5 Altura del rectángulo: 3 * * * * * * * * * * * * * * * |
anchura = int(input("Anchura del rectángulo: "))
altura = int(input("Altura del rectángulo: "))
for i in range(altura):
for j in range(anchura):
print("* ", end="")
print()
Anchura del rectángulo: 6 Altura del rectángulo: 4
* * * * * *
* * * *
* * * * * *
|
Anchura del rectángulo: 5 * * * * * |
|
Anchura del rectángulo: 5 * * |
|
Anchura del rectángulo: 5 Altura del rectángulo: 4 * * * * |
anchura = int(input("Anchura del rectángulo: "))
altura = int(input("Altura del rectángulo: "))
for i in range(anchura):
print("* ", end="")
print()
for i in range(altura - 2):
print("* ", end="")
for j in range(anchura - 2):
print(" ", end="")
print("*")
for i in range(anchura):
print("* ", end="")
Anchura del rectángulo: 6
Altura del rectángulo: 4
Número de rectángulos en vertical: 3
* * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
Anchura del rectángulo: 5 * * * * * |
|
Anchura del rectángulo: 6 Altura del rectángulo: 4 * * * * * * * * * *
|
|
Anchura del rectángulo: 6 Altura del rectángulo: 4 Número de rectángulos en vertical: 3 * * * * * * * * * *
* * * * * * * * * *
* * * * * * * * * *
|
anchura = int(input("Anchura del rectángulo: "))
altura = int(input("Altura del rectángulo: "))
numero = int(input("Número de rectángulos en vertical: "))
for k in range(anchura):
print("* ", end="")
print()
for i in range(numero):
for j in range(altura - 2):
print("* ", end="")
for k in range(anchura - 2):
print(" ", end="")
print("*")
for k in range(anchura):
print("* ", end="")
print()
anchura = int(input("Anchura del rectángulo: "))
altura = int(input("Altura del rectángulo: "))
numero = int(input("Número de rectángulos en vertical: "))
for i in range(numero):
for k in range(anchura):
print("* ", end="")
print()
for j in range(altura - 2):
print("* ", end="")
for k in range(anchura - 2):
print(" ", end="")
print("*")
for k in range(anchura):
print("* ", end="")
print()
Nota: En este caso, la última línea del programa podría omitirse, pues el salto de línea final no es necesario.
anchura = int(input("Anchura del rectángulo: "))
altura = int(input("Altura del rectángulo: "))
numero = int(input("Número de rectángulos en horizontal: "))
for j in range(anchura*numero - numero + 1):
print("* ", end="")
print()
for i in range(altura - 2):
for k in range(numero):
print("* ", end="")
for j in range(anchura - 2):
print(" ", end="")
print("*")
for j in range(anchura*numero - numero + 1):
print("* ", end="")
anchura = int(input("Anchura del rectángulo: "))
altura = int(input("Altura del rectángulo: "))
horizontal = int(input("Número de rectángulos en horizontal: "))
vertical = int(input("Número de rectángulos en vertical: "))
for j in range(anchura*horizontal - horizontal + 1):
print("* ", end="")
print()
for l in range(vertical):
for i in range(altura - 2):
for k in range(horizontal):
print("* ", end="")
for j in range(anchura - 2):
print(" ", end="")
print("* ")
for j in range(anchura*horizontal - horizontal + 1):
print("* ", end="")
print()
El procedimiento para resolver estos ejercicios es siempre el mismo:
Letra L Altura de la letra L: 8 Anchura de la letra L: 10 Grosor de la letra L: 3
* * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
print("Letra L")
altura = int(input("Altura de la letra L: "))
anchura = int(input("Anchura de la letra L: "))
grosor = int(input("Grosor de la letra L: "))
if altura <= 0 or anchura <= 0 or grosor <= 0:
print("Los tres valores deben ser positivos.")
elif altura <= grosor:
print("La altura debe ser mayor que el grosor.")
elif anchura <= grosor:
print("La anchura debe ser mayor que el grosor.")
else:
for i in range(altura - grosor):
for j in range(grosor):
print("* ", end="")
print()
for i in range(grosor):
for j in range(anchura):
print("* ", end="")
print()
print("Letra C")
altura = int(input("Altura de la letra C: "))
anchura = int(input("Anchura de la letra C: "))
grosor = int(input("Grosor de la letra C: "))
if altura <= 0 or anchura <= 0 or grosor <= 0:
print("Los tres valores deben ser positivos.")
elif altura <= 2 * grosor:
print("La altura debe ser mayor que el doble del grosor.")
elif anchura <= grosor:
print("La anchura debe ser mayor que el grosor.")
else:
for i in range(grosor):
for j in range(anchura):
print("* ", end="")
print()
for i in range(altura - 2 * grosor):
for j in range(grosor):
print("* ", end="")
print()
for i in range(grosor):
for j in range(anchura):
print("* ", end="")
print()
print("Letra U")
altura = int(input("Altura de la letra U: "))
anchura = int(input("Anchura de la letra U: "))
grosor = int(input("Grosor de la letra U: "))
if altura <= 0 or anchura <= 0 or grosor <= 0:
print("Los tres valores deben ser positivos.")
elif altura <= grosor:
print("La altura debe ser mayor que el grosor.")
elif anchura <= 2 * grosor:
print("La anchura debe ser mayor que el doble del grosor.")
else:
for i in range(altura - grosor):
for j in range(grosor):
print("* ", end="")
for j in range(anchura - 2 * grosor):
print(" ", end="")
for j in range(grosor):
print("* ", end="")
print()
for i in range(grosor):
for j in range(anchura):
print("* ", end="")
print()
print("Letra O")
altura = int(input("Altura de la letra O: "))
anchura = int(input("Anchura de la letra O: "))
grosor = int(input("Grosor de la letra O: "))
if altura <= 0 or anchura <= 0 or grosor <= 0:
print("Los tres valores deben ser positivos.")
elif altura <= 2 * grosor:
print("La altura debe ser mayor que el doble del grosor.")
elif anchura <= 2 * grosor:
print("La anchura debe ser mayor que el doble del grosor.")
else:
for i in range(grosor):
for j in range(anchura):
print("* ", end="")
print()
for i in range(altura - 2 * grosor):
for j in range(grosor):
print("* ", end="")
for j in range(anchura - 2 * grosor):
print(" ", end="")
for j in range(grosor):
print("* ", end="")
print()
for i in range(grosor):
for j in range(anchura):
print("* ", end="")
print()
print("Letra T")
altura = int(input("Altura de la letra T: "))
anchura = int(input("Anchura de la letra T: "))
grosor = int(input("Grosor de la letra T: "))
if altura <= 0 or anchura <= 0 or grosor <= 0:
print("Los tres valores deben ser positivos.")
elif altura <= grosor:
print("La altura debe ser mayor que el grosor.")
elif anchura <= grosor + 1:
print("La anchura debe ser al menos dos unidades mayor que el grosor.")
elif anchura % 2 != grosor % 2:
print("La anchura y el grosor deben ser ambos pares o ambos impares")
else:
for i in range(grosor):
for j in range(anchura):
print("* ", end="")
print()
for i in range(altura - grosor):
for j in range((anchura - grosor) // 2):
print(" ", end="")
for j in range(grosor):
print("* ", end="")
print()
Para escribir los espacios a la izquierda de la barra vertical, en vez del operador cociente (//):
for j in range((anchura - grosor) // 2):
se podría haber utilizado la división (ya que anchura y grosor son ambos o impares, por lo que su diferencia es par), pero como el resultado de una división de enteros es de tipo decimal, es necesario convertirla a entero con la función int():
for j in range(int((anchura - grosor) / 2)):
print("Letra H")
altura = int(input("Altura de la letra H: "))
anchura = int(input("Anchura de la letra H: "))
grosor = int(input("Grosor de la letra H: "))
if altura <= 0 or anchura <= 0 or grosor <= 0:
print("Los tres valores deben ser positivos.")
elif altura <= grosor + 1:
print("La altura debe ser al menos dos unidades mayor que el grosor.")
elif anchura <= 2 * grosor:
print("La anchura debe ser mayor que el doble del grosor.")
elif altura % 2 != grosor % 2:
print("La altura y el grosor deben ser ambos pares o ambos impares")
else:
for i in range((altura - grosor) // 2):
for j in range(grosor):
print("* ", end="")
for j in range(anchura - 2 * grosor):
print(" ", end="")
for j in range(grosor):
print("* ", end="")
print()
for i in range(grosor):
for j in range(anchura):
print("* ", end="")
print()
for i in range((altura - grosor) // 2):
for j in range(grosor):
print("* ", end="")
for j in range(anchura - 2 * grosor):
print(" ", end="")
for j in range(grosor):
print("* ", end="")
print()