![sin imagen de perfil sin imagen de perfil](/img/anonymouse.png)
Ayuda POO
Publicado por anonymous (38 intervenciones) el 07/07/2021 11:19:03
Buenas noches, tengo una duda con mi código, con estos inputs;
me deberia salir este output: Baldosa: Num. de Caminos = 3, Ubicacion = (5, 65), pero no lo logro, aquí dejo la explicación del output y mi codigo por si alguien me pudiese ayudar.
La baldosa de este ejemplo tiene tres caminos: dos amarillos y uno rojo. El camino_1 rojo tiene un extremo al oeste y otro en un fin, el camino_2 amarillo tiene como extremos el sur y el este, mientras que el camino_3 amarillo tiene como extremos el fin (al igual que el camino rojo) y el norte.
Lo primero que se hace es instanciar los tres caminos en el orden que fueron descritos. Luego, se instancia la baldosa dándole como parámetro una lista que contiene al camino_1, camino_2 y camino_3. La baldosa tiene por defecto posición (-1,-1), por lo que al renombrar estos atributos, la baldosa queda ahora en la columna 65 y la fila 5, es decir, en el punto (5,65).
1
2
3
4
5
6
7
camino_1 = Camino(["F", "O"], "rojo")
camino_2 = Camino(["E", "S"], "amarillo")
camino_3 = Camino(["F", "N"], "amarillo")
baldosa = Baldosa([camino_1, camino_2, camino_3])
baldosa.col = 65
baldosa.fila = 5
print(baldosa)
me deberia salir este output: Baldosa: Num. de Caminos = 3, Ubicacion = (5, 65), pero no lo logro, aquí dejo la explicación del output y mi codigo por si alguien me pudiese ayudar.
La baldosa de este ejemplo tiene tres caminos: dos amarillos y uno rojo. El camino_1 rojo tiene un extremo al oeste y otro en un fin, el camino_2 amarillo tiene como extremos el sur y el este, mientras que el camino_3 amarillo tiene como extremos el fin (al igual que el camino rojo) y el norte.
Lo primero que se hace es instanciar los tres caminos en el orden que fueron descritos. Luego, se instancia la baldosa dándole como parámetro una lista que contiene al camino_1, camino_2 y camino_3. La baldosa tiene por defecto posición (-1,-1), por lo que al renombrar estos atributos, la baldosa queda ahora en la columna 65 y la fila 5, es decir, en el punto (5,65).
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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
class Camino:
def __init__(self,extremos,color):
self.extremos = extremos
self.color = color
self.conquistado = False
def __str__(self):
return "Camino: extremos =" + " " + str(self.extremos) + ", " + "color = " + self.color
def rotar(self,grados,sentido):
self.grados = grados
self.sentido = sentido
for i in range(0,2):
if sentido == "horario":
if grados == 90:
if self.extremos[i] == "N":
self.extremos[i] = "E"
elif self.extremos[i] == "E":
self.extremos[i] = "S"
elif self.extremos[i] == "S":
self.extremos[i] = "O"
elif self.extremos[i] == "O":
self.extremos[i] = "N"
elif self.extremos[i] == "F":
self.extremos[i] = "F"
elif grados == 180:
if self.extremos[i] == "N":
self.extremos[i] = "S"
elif self.extremos[i] == "E":
self.extremos[i] = "O"
elif self.extremos[i] == "S":
self.extremos[i] = "N"
elif self.extremos[i] == "O":
self.extremos[i] = "E"
elif self.extremos[i] == "F":
self.extremos[i] = "F"
elif grados == 270:
if self.extremos[i] == "N":
self.extremos[i] = "O"
elif self.extremos[i] == "E":
self.extremos[i] = "N"
elif self.extremos[i] == "S":
self.extremos[i] = "E"
elif self.extremos[i] == "O":
self.extremos[i] = "S"
elif self.extremos[i] == "F":
self.extremos[i] = "F"
elif sentido == "antihorario" :
if grados == 90:
if self.extremos[i] == "N":
self.extremos[i] = "O"
elif self.extremos[i] == "O":
self.extremos[i] = "S"
elif self.extremos[i] == "S":
self.extremos[i] = "E"
elif self.extremos[i] == "E":
self.extremos[i] = "N"
elif self.extremos[i] == "F":
self.extremos[i] = "F"
elif grados == 180:
if self.extremos[i] == "N":
self.extremos[i] = "S"
elif self.extremos[i] == "O":
self.extremos[i] = "E"
elif self.extremos[i] == "S":
self.extremos[i] = "N"
elif self.extremos[i] == "E":
self.extremos[i] = "O"
elif self.extremos[i] == "F":
self.extremos[i] = "F"
elif grados == 270:
if self.extremos[i] == "N":
self.extremos[i] = "E"
elif self.extremos[i] == "O":
self.extremos[i] = "N"
elif self.extremos[i] == "S":
self.extremos[i] = "O"
elif self.extremos[i] == "E":
self.extremos[i] = "S"
elif self.extremos[i] == "F":
self.extremos[i] = "F"
class Baldosa:
def caminos(self,camino,fila,col):
self.camino = camino
self.fila = -1
self.col = -1
return "Baldosa: Num. de Caminos =" + str(self.camino) + "Ubicacion =" + "("+ str(self.fila) + "," + str(self.col) + ")"
Valora esta pregunta
![Me gusta: Está pregunta es útil y esta clara Me gusta: Está pregunta es útil y esta clara](/img/img.png?11.51)
![NO me gusta: Está pregunta no esta clara o no es útil No me gusta: Está pregunta no esta clara o no es útil](/img/img.png?11.51)
0