
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 = fildef set_Columnas(col):
columnas = coldef get_Filas(self):
return self._filasdef get_Columnas(self):
return self._columnasdef 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._tableroInidef set_TableroIni(self, tab):
self._TabInicial = tab
def get_TableroFin(self):
return self._tabFinaldef 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 = 0if 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 = 0i = (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 = Falseif coM >= 0 and coM < tab.get_Filas():
if coN >= 0 and coN < tab.get_Columnas():
aux = Truereturn 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 = 0while 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 = 0if numVec == 0 or numVec == 1 or numVec == 4 or numVec == 5 or numVec == 6 or numVec == 7 or numVec == 8:
aux = 0elif numVec == 2 or numVec == 3:
aux = 1;return aux;
def Jugar(self):
print("__________________________________________________")
L = 0while 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 = 1for 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
