Reto: Bucles anidados
Generar la tabla de multiplicar.
Método 1
Usamos dos buclesfor
anidados, de esta forma para cada valor de la variable i
se recorren todos los valores de la variable i
. Si cada una de las variables se mueve entre 1 y 10, al estar anidados los dos bucles nos proporcionaran 100 valores que son los necesarios para mostrar las tablas de multiplicar del 1 al 10.for i in range(1,11):
for j in range (1,11):
x=i*j
print(i,'*',j,'=',x)
if j == 10:
print("_"*40)
Método 2
Con este método mostramos una forma peculiar que tiene Python a la hora de imprimir valores.for i in range(1,11):
for j in range(1,11):
print ('%d * %d = %d' % (i,j,i*j))
if j == 10:
print("_"*40)
Método 3
También podemos hacer las tablas de multiplicar en forma de tabla de doble entrada. Hemos creado la variablen
que nos proporciona el número de espacios en blando que anteceden a cada número para que la tabla quede con columnas correctamente alineadas.La variable
texto
recoge los valores de cada fila. Cada uno de los números ocupa 5 caracteres:- Los números de una cifra llevan 4 espacios en blanco y luego la cifra numérica. Ejemplo: ' 1'.
- Los números de dos cifras llevan 3 espacios en blanco y luego la cifra numérica. Ejemplo: ' 10'
- El 100 que es el único número de 3 cifras, va precedido por dos espacios en blanco: ' 100'
Con este sistema todos los números que se representan en la tabla ocupan el mismo número de dígitos (5) y de esta forma la tabla queda bien ordenada estéticamente en forma de columnas todas ellas del mismo ancho.
for i in range(1,11):
texto=''
for j in range(1,11):
n=5-len(str(i*j))
texto+=' '*n+str(i*j)
print(texto)
print([[i*n for i in range(1,11)] for n in range(1,11)])
ResponderEliminar