<- Volver al capítulo 6.

Respuesta al Problema 13

Video: Answer to Problem

Pregunta:

Escribe el código que imprimirá lo siguiente:

                  1
                1 2 1
              1 2 3 2 1
            1 2 3 4 3 2 1
          1 2 3 4 5 4 3 2 1
        1 2 3 4 5 6 5 4 3 2 1
      1 2 3 4 5 6 7 6 5 4 3 2 1
    1 2 3 4 5 6 7 8 7 6 5 4 3 2 1
  1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1
    1 2 3 4 5 6 7 8 7 6 5 4 3 2 1
      1 2 3 4 5 6 7 6 5 4 3 2 1
        1 2 3 4 5 6 5 4 3 2 1
          1 2 3 4 5 4 3 2 1
            1 2 3 4 3 2 1
              1 2 3 2 1
                1 2 1
                  1


Respuesta:

for i in range(10):
    # Imprimimos espacios al principio de la línea
    for j in range(10-i):
        print (" ",end=" ")
    # Cuenta hacia arriba
    for j in range(1,i+1):
        print (j,end=" ")
    # Cuenta atrás
    for j in range(i-1,0,-1):
        print (j,end=" ")
    #Fila siguiente
    print()

for i in range(10):
    #Imprimimos espacios al principio de la línea
    for j in range(i+2):
        print (" ",end=" ")
    # Cuenta hacia arriba
    for j in range(1,9-i):
        print (j,end=" ")
    # Cuenta atrás
    for j in range(7-i,0,-1):
        print (j,end=" ")
    print()
Variables:
i=
j=
Salida:
                  1 
                1 2 1 
              1 2 3 2 1 
            1 2 3 4 3 2 1 
          1 2 3 4 5 4 3 2 1 
        1 2 3 4 5 6 5 4 3 2 1 
      1 2 3 4 5 6 7 6 5 4 3 2 1 
    1 2 3 4 5 6 7 8 7 6 5 4 3 2 1 
  1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1 
    1 2 3 4 5 6 7 8 7 6 5 4 3 2 1 
      1 2 3 4 5 6 7 6 5 4 3 2 1 
        1 2 3 4 5 6 5 4 3 2 1 
          1 2 3 4 5 4 3 2 1 
            1 2 3 4 3 2 1 
              1 2 3 2 1 
                1 2 1 
                  1 

Para resaltar dónde se encuentran los espacios, puedes activar o desactivar el subrayado.

Explicación:

Vídeo: Respuesta al Problema 13