Python - Actualizando matriz

 
Vista:
Imágen de perfil de Natalia
Val: 14
Ha disminuido su posición en 9 puestos en Python (en relación al último mes)
Gráfica de Python

Actualizando matriz

Publicado por Natalia (5 intervenciones) el 20/10/2020 04:52:01
Hola, estoy tratando de actualizar el valor de una matriz, ya probe el codigo y sí funciona pero no actualiza el valor de la matriz y no se porque,, el codigo es el siguiente

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
board=[
[1,2,3],
[4,"X",6],
[7,8,9],
]
 
 
 
def DisplayBoard(tablero):
    for x in board:
        print("+","-"*9,"+","\n|   |   |   |")
        for y in x:
            print(f"| {y} ",end="")
        print("| \n|   |   |   |")
    print("+","-"*9,"+")
 
 
DisplayBoard(board)
 
 
def EnterMove(tablero):
    pos=int(input("Por favor ingresa tu movimiento:"))
 
    for i in tablero:
        for j in i:
           if j==pos:
               j="O"
    return tablero
 
 
 
board1=EnterMove(board)
 
 
 
DisplayBoard(board1)

Al imprimir el tablero no me actualiza el movimiento que se hizo, se supone que debe reemplazar el numero que hay en la matriz por una O y no lo hace.

Agradezco sus comentarios.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de algoritmo
Val: 819
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Actualizando matriz

Publicado por algoritmo (245 intervenciones) el 20/10/2020 10:15:30
Hola

Espero que te sirva :)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
board=[[1,2,3],[4,"X",6],[7,8,9],]
 
def DisplayBoard(tablero):
    for x in tablero:
        print("+","-"*9,"+","\n|   |   |   |")
        for y in x:
            print(f"| {y} ",end="")
        print("| \n|   |   |   |")
    print("+","-"*9,"+")
 
DisplayBoard(board)
 
def EnterMove(tablero):
    pos=int(input("Por favor ingresa tu movimiento:"))
    for t1,i in enumerate(tablero):
        for t2,j in enumerate(i):
            if tablero[t1][t2] == pos:
                tablero[t1][t2]="O"
                return tablero
 
board1=EnterMove(board)
DisplayBoard(board1)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Actualizando matriz

Publicado por yoyyo (1 intervención) el 20/10/2020 10:17:56
hola:

varias cosas a saber:
1) usa la etiqueta de </> Código cuando pongas código, así será más facil de leer que como lo estás haciendo
2)
1
ya probe el codigo y sí funciona pero no actualiza el valor de la matriz
en realidad no hay forma de que ese código funcione
3) estás teniendo graves problemas de entendimiento en cuanto a como funciona una matriz.
4) modifico el código porque pese a todo lo estás intentando y eso es loable.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#-*- coding: utf - 8 -*-
board=[
[1,2,3],
[4,"X",6],
[7,8,9],
]
 
def DisplayBoard(tablero):
    for x in tablero:
        print("+","-"*9,"+","\n|   |   |   |")
        for y in x:
            print(f"| {y} ",end="")
        print("| \n|   |   |   |")
    print("+","-"*9,"+")
 
DisplayBoard(board)
 
def EnterMove(tablero):
    pos=int(input("Por favor ingresa tu movimiento: "))
    fila = 0
    for i in tablero:
        columna = 0
        for j in i:
            if j == pos:
                tablero[fila][columna]="O" #para cambiar el elemento hay que pasarle la ubicación en la matriz no el valor en si
            columna+=1
        fila+=1
    return tablero
 
board1=EnterMove(board)
DisplayBoard(board1)
Hay otras formas de hacer esto, pero estoy intentando seguir tu lógica.
ya me imagino cual será tu próximo problema, pero dale que lo estás desarrollando.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Natalia
Val: 14
Ha disminuido su posición en 9 puestos en Python (en relación al último mes)
Gráfica de Python

Actualizando matriz

Publicado por Natalia (5 intervenciones) el 20/10/2020 15:05:57
Muchas gracias, me sirvió, en realidad ya lo había intentado de otras maneras, pero no me había funcionado, me salia un error, de fuera de rango, te agradezco mucho, y sí probablemente voy a tener otros errores, porque me faltan otras 3 funciones para terminar el programa. Pero sé que con ayuda de ustedes lo voy a poder terminar :) :) :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar