Este ejercicio consiste en pedirle al usuario 2 números, que representarán el ancho y el alto del rectángulo, el caparazón devolverá los bordes con asteriscos y el centro de la matriz solo con cruces.

(Hay espacios entre asteriscos y cruces)

import sys
width = int(input('Enter the width of the rectangle: '))
high = int(input('Enter the high of the rectangle: '))
matrix = []

if width < 0 or high < 0:
    print('INVALID DIMENSIONS')
    sys.exit()

else:
    for a in range(high):
        matrix.append([])

        for b in range(width):
            matrix[a].append(high)

print(matrix)

Después de eso, no sé cómo poner los asteriscos en el borde y las cruces en el centro.

-1
GZeuS 13 oct. 2019 a las 23:18

1 respuesta

La mejor respuesta

¿Te refieres a algo como esto?

import sys
#width = int(input('Enter the width of the rectangle: '))
#high = int(input('Enter the high of the rectangle: '))

# Hardcoded for testing.
width = 7
height = 5

if width < 2 or height < 2:
    print('INVALID DIMENSIONS')
    sys.exit()

matrix = []

matrix.append('*' * (2*width - 1))
for _ in range(height):
    row = '*' + ''.join('+' for _ in range(width-2)) + '*'
    matrix.append(' '.join(row))
matrix.append('*' * (2*width - 1))

# Print matrix.
for row in matrix:
    print(row)

Salida:

*************
* + + + + + *
* + + + + + *
* + + + + + *
* + + + + + *
* + + + + + *
*************
0
martineau 14 oct. 2019 a las 22:31