es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

La expresión “grid [x][y]” en realidad es “grid[y][x]” en Python, me lo explicó mi profesor, pero no lo entendí.

Si se da una matriz:

A= [ [0,0,0],
    [1,1,1] ,
    [2,2,2] ]

Para acceder al primer elemento de la matriz debo decir A[x][y] o A[fila][columna]=A[0][0]=0 significa primera fila que está representada por x y columna que está representada por y, pero hoy hizo una suma de todos los caminos en un programa de rejilla en el que estaba usando grid[y][x] para navegar el siguiente movimiento; es decir, y estaba decidiendo si moverse hacia la derecha o hacia la izquierda o x para decidir si debía moverse hacia arriba y hacia abajo, lo cual es extraño. Aunque sé que incluso se puede escribir como grid[x][y], pero su programa tenía sentido pero todavía estoy confundido de cómo y se comporta como x en python. ¿Alguien puede aclarar esto, por favor?

Su programa, en caso de que estés interesado

Def NP(fila, columna):
Def nop(y, x):
If y == 0 and x == columna:
Return 1
count = []
# establecer el punto actual como visitado
grid[y][x] = 1
Si y – 1 >= 0:
# verificar hacia arriba
Si grid[y-1][x] == 0:
count.append(nop(y-1, x))
# verificar hacia abajo
Si y + 1 <= fila:
Si grid[y + 1][x] == 0:
count.append(nop(y+1, x))
# verificar hacia la izquierda
Si x – 1 >= 0:
Si grid[y][x – 1] == 0:
count.append(nop(y, x-1))
# verificar hacia la derecha
Si x + 1 <= columna:
Si grid[y][x + 1] == 0:
count.append(nop(y, x+1))
# establecer el punto actual como no visitado
grid[y][x] = 0
Return sum(count)
grid = []
for i in rango(fila+1):
line = []
for j in rango(columna+1):
line.append(0)
grid.append(line)
Return nop(0, 0)

Print(NP(1, 2))

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que la confusión surgió debido al hecho de que las variables x e y se utilizaron de manera no convencional en el programa. En el ejemplo de la matriz dada, A[x][y] representa el elemento en la x-ésima fila y y-ésima columna. Sin embargo, en el programa, la variable y se está utilizando para representar el número de fila y x se está utilizando para representar el número de columna. Esto no es un problema en Python, ya que el orden de los índices en una lista o matriz es arbitrario y puede elegirse según la preferencia del programador.

    En el contexto del programa, la cuadrícula es una matriz bidimensional con filas representadas por el índice y y columnas representadas por el índice x. Por lo tanto, en este caso, tiene sentido utilizar grid[y][x] para navegar al siguiente movimiento, ya que está comprobando el elemento en la y-ésima fila y la x-ésima columna de la cuadrícula.

    En resumen, aunque el uso de los índices x e y puede parecer poco convencional en este programa, es perfectamente válido y permitido en Python.

Comments are closed.