
Ayuda a corregir python
Publicado por cristian (5 intervenciones) el 15/12/2014 23:39:01
Hola, tengo este codigo en python y no se cual es el error no me funciona
Creo que el error esta al crear la matriz en la clase tablero, les agradezco mucho su ayuda,
PRIMERA CLASE
SEGUNDA CLASE
TERCERA CLASE
Creo que el error esta al crear la matriz en la clase tablero, les agradezco mucho su ayuda,
PRIMERA CLASE
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
class Tablero:
tabInicial = [range(10) for i in range(10)]
tabFinal = [range(10) for i in range(10)]
def set_Filas(fil):
filas = fil
def set_Columnas(col):
columnas = col
def get_Filas(self):
return self._filas
def get_Columnas(self):
return self._columnas
def graficar(tab):
print()
for i in tab.get_Filas()- 1:
print("|")
for j in tab.get_Columnas()- 1:
if tab[i][j] == 1:
print("*")
else:
print("-")
if (j != (tab[i].length - 1)):
print("end=")
print("|")
def get_TableroIni(self):
return self._tableroIni
def set_TableroIni(self, tab):
self._TabInicial = tab
def get_TableroFin(self):
return self._tabFinal
def set_TableroFin(self, tab):
self._tabFinal = tab
def initTablero(tab):
for i in tab.get_Filas() - 1:
for j in tab.get_Columnas() - 1:
tab[i][j] = 0
def existeInsecto(coordM ,coordN,tab):
if (tab.get_TableroIni()[coordM][coordN] == 1):
print("***ERROR LA COORDENADA (" + coordM + ", " + coordN + ") YA TIENE UN INSECTO.")
return (tab.get_TableroIni()[coordM][coordN] == 1)
def coordenadaValida( K ,tab ):
coordM = 0
coordN = 0
if K >= 1:
while K.existeInsecto(coordM, coordN):
while coordM < 0 or coordM >= tab.get_Filas():
print("Coordenada M (entre 0-" + (tab.get_TableroIni().length - 1) + "): ")
coordM = input()
while coordN < 0 or coordN >= tab.get_Columnas():
print("Coordenada N (entre 0-" + (tab.get_TableroIni().length - 1) + "): ")
coordN = input()
tab.get_TableroIni()[coordM][coordN] = 1
tab.graficar(tab.get_TableroIni())
K.coordenadaValida(K - 1)
def get_coordenadas(coordM, coordN):
vecinos = [range(8) for i in range(2)]
M = 0
i = (coordM - 1)
j = (coordN - 1)
for i in coordM + 1:
for j in coordN + 1:
if coordM == i and coordN == j:
continue
else:
vecinos[M][0] = i
vecinos[M][0] = j
M = M + 1
return vecinos
def coordenada_valida(coM, coN,tab):
aux = False
if coM >= 0 and coM < tab.get_Filas():
if coN >= 0 and coN < tab.get_Columnas():
aux = True
return aux
def get_Vecinos(coordVe, tablero):
contarVec = 0
tab = tablero
for i in 7:
x = coordVe[i][0]
y = coordVe[i][1]
if x >= 0 and y < tab.get_Filas() and y < tab.get_Columnas():
if tab[x][y] == 1:
contarVec = contarVec + 1
return contarVec
SEGUNDA CLASE
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
class Juego(Tablero):
def set_Juego(self):
print("Digite por favor las filas del tablero(N):")
N = input()
print("Digite por favor las Columnas del tablero (M):")
M = input()
M=int(M)
N=int(N)
tab=[range(M) for i in range(N)]
Tablero.set_Filas(M)
Tablero.set_Columnas(N)
Tablero.set_TableroIni(self,tab)
Tablero.set_TableroFin(self,tab)
Tablero.initTablero(Tablero.set_TableroIni(self,tab))
Tablero.initTablero(Tablero.set_TableroFin(self,tab))
K = 0
while K <= 0 or K > (M * N):
print("Digite por favor la poblacion de insectos (K), que debe ser entre 1 y " + (M * N) + ": ")
K = input()
print("__________________________________________________")
print("A continuacion digite cada una de las coordenadas para los " + K + " insectos.")
Tablero.coordenadaValida(K)
Tablero.set_TableroFin(Tablero.get_TableroIni())
def Reglas(numVec):
aux = 0
if numVec == 0 or numVec == 1 or numVec == 4 or numVec == 5 or numVec == 6 or numVec == 7 or numVec == 8:
aux = 0
elif numVec == 2 or numVec == 3:
aux = 1;
return aux;
def Jugar(self):
print("__________________________________________________")
L = 0
while L <= 0:
print("Digite ahora los L ciclos que desea realizar la simulacion: ")
L = input()
copiatab = [range(Tablero.get_Filas()) for i in range(Tablero.set_Columnas())]
k = 1
for k in k <= L:
for i in i < Tablero.get_Filas():
for j in j < Tablero.set_Columnas():
original = Tablero.get_TableroFin()[i][j]
auxV = Tablero.get_Vecinos(Tablero.get_coordenadas(i, j), Tablero.get_TableroFin())
if original == 1:
copiatab[i][j] = self.Reglas(auxV)
elif auxV == 3:
copiatab[i][j] = 1
else:
copiatab[i][j] = 0
Tablero.set_TableroFin(copiatab)
copiatab = [range(Tablero.get_Filas()) for i in range(Tablero.set_Columnas())]
def get_Juego(self):
self.Jugar()
print("__________________________________________________")
print("EL ESTADO INICIAL DE LA POBLACION ES: ")
Tablero.graficar(Tablero.get_TableroIni())
print("DESPUES DE " + L + " CICLOS EL ESTADO FINAL DE LA POBLACION ES: ")
Tablero.graficar(Tablero.getTableroFin())
TERCERA CLASE
1
2
3
4
class Principal():
obj = Juego1()
obj.set_Juego()
obj.get_Juego()
Valora esta pregunta


0