py_constellation_mapper · Python

▶ Aprender py_constellation_mapper (Python) paso a paso · explicación de py_constellation_mapper

Código línea a línea

Tres columnas: el código, el trozo del subject o del main que obliga a escribir esa línea, y el por qué.

py_constellation_mapper.py
CódigoSubjectPor qué
def constellation_mapper(stars: list[tuple[int, int]], dim: int) -> list[str]:def constellation_mapper(stars: list[tuple[int, int]], dim: int) -> list[str]:Firma del subject.
grid = [["."] * dim for _ in range(dim)]Stars are represented by '*' and empty spaces by '.'Rejilla dim × dim de puntos, como listas de caracteres para poder escribir en una celda. La comprensión crea una fila nueva por iteración: [["."] * dim] * dim sería la misma fila repetida.
for row, col in stars:Take a list of star coordinates as tuples (row, col)Cada estrella: fila, columna. En ese orden.
if 0 <= row < dim and 0 <= col < dim:Ignore coordinates outside the grid boundariesFuera de la rejilla: la ignoro. Sin esto, un índice negativo escribiría por el otro extremo y uno grande daría IndexError.
grid[row][col] = "*"Handle duplicate coordinates (star appears only once)Pinto. Pintar dos veces la misma celda deja un solo *: los duplicados se resuelven solos.
return ["".join(line) for line in grid]Return a list of strings representing the gridCada fila de caracteres a string.