I need to use an array that is in one code in another!

0

I have a project with the following files:

old     play.py     impressao.py

I need to use a 3x3 array that is in the game.py in the script.py

impressao.py

#função de impressão
def impressao():
    print("                   Coluna 1 Coluna 2 Coluna 3")
    print("          Linha 1    ",matriz[0][0],"     ", matriz[0][1],"       ", matriz[0][2])
    print()
    print("          Linha 2    ",matriz[1][0],"     ", matriz[1][1],"       ", matriz[1][2])
    print()
    print("          Linha 3    ",matriz[2][0],"     ", matriz[2][1],"       ", matriz[2][2])
    print()

jogo.py

#inicialização 
import time
import random
matriz = [[0,0,0],[0,0,0],[0,0,0]]
print("\n"*130)

#função da jogada do usuario
def jogadauser():
    controle = 0
    while controle != 1:
        impressao()
        print("Digite a sua jogada! ")
        linha = int ( input("Linha: ") )
        coluna = int ( input("Coluna: ") )
        linha = linha - 1
        coluna = coluna - 1
        if matriz[linha][coluna] == 0:
            controle = 1
        print("\n"*130)
    return linha, coluna

#função da jogada do computador
def jogadapc():
    impressao()
    print("O computador está pensando!")
    time.sleep(2)
    controle = 0
    while controle != 1:
        linha = random.randint(0,2)
        coluna = random.randint(0,2)
        if matriz[linha][coluna] == 0:
            controle = 1
        print("\n"*130)
    return linha, coluna

#função de comparação
def comparar():
    if (matriz[0][0] == "H" and matriz[0][1] == "H" and  matriz[0][2] == "H"):
        return "humano"
    elif (matriz[1][0] == "H" and matriz[1][1] == "H" and  matriz[1][2] == "H"):
        return "humano"
    elif (matriz[2][0] == "H" and matriz[2][1] == "H" and  matriz[2][2] == "H"):
        return "humano"
    elif (matriz[0][0] == "H" and matriz[1][0] == "H" and  matriz[2][0] == "H"):
        return "humano"
    elif (matriz[0][1] == "H" and matriz[1][1] == "H" and  matriz[2][1] == "H"):
        return "humano"
    elif (matriz[0][2] == "H" and matriz[1][2] == "H" and  matriz[2][2] == "H"):
        return "humano"
    elif (matriz[0][0] == "H" and matriz[1][1] == "H" and  matriz[2][2] == "H"):
        return "humano"
    elif (matriz[0][2] == "H" and matriz[1][1] == "H" and  matriz[2][0] == "H"):
        return "humano"

    if (matriz[0][0] == "C" and matriz[0][1] == "C" and  matriz[0][2] == "C"):
        return "computador"
    elif (matriz[1][0] == "C" and matriz[1][1] == "C" and  matriz[1][2] == "C"):
        return "computador"
    elif (matriz[2][0] == "C" and matriz[2][1] == "C" and  matriz[2][2] == "C"):
        return "computador"
    elif (matriz[0][0] == "C" and matriz[1][0] == "C" and  matriz[2][0] == "C"):
        return "computador"
    elif (matriz[0][1] == "C" and matriz[1][1] == "C" and  matriz[2][1] == "C"):
        return "computador"
    elif (matriz[0][2] == "C" and matriz[1][2] == "C" and  matriz[2][2] == "C"):
        return "computador"
    elif (matriz[0][0] == "C" and matriz[1][1] == "C" and  matriz[2][2] == "C"):
        return "computador"
    elif (matriz[0][2] == "C" and matriz[1][1] == "C" and  matriz[2][0] == "C"):
        return "computador"


#Jogo
jogadas = 0 
while jogadas < 9:
    linha = 0
    coluna = 0
    if jogadas%2 == 0:
        linha, coluna = jogadauser()
        matriz[linha][coluna] = "H"
    else:
        linha, coluna = jogadapc()
        matriz[linha][coluna] = "C"
    if comparar() == "humano":
        impressao()
        print("Você ganhou!")
        jogadas = 10
    elif comparar() == "computador":
        impressao()
        print("Você perdeu!")
        jogadas = 10
    jogadas = jogadas + 1
time.sleep(5)
    
asked by anonymous 14.06.2017 / 03:45

1 answer

4

To import an object from a module, simply use import or from ... import . In this case, in the file impressao.py , just do:

from jogo import matriz

#função de impressão
def impressao():
    print("                   Coluna 1 Coluna 2 Coluna 3")
    print("          Linha 1    ",matriz[0][0],"     ", matriz[0][1],"       ", matriz[0][2])
    print()
    print("          Linha 2    ",matriz[1][0],"     ", matriz[1][1],"       ", matriz[1][2])
    print()
    print("          Linha 3    ",matriz[2][0],"     ", matriz[2][1],"       ", matriz[2][2])
    print()

If you call the function impressao() , you have the output:

           Coluna 1 Coluna 2 Coluna 3
  Linha 1     0       0         0

  Linha 2     0       0         0

  Linha 3     0       0         0
  

See working at Repl.it .

    
14.06.2017 / 04:38