Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Duplicación de variables en tabla #47

Open
jon85p opened this issue Dec 26, 2020 · 1 comment
Open

Duplicación de variables en tabla #47

jon85p opened this issue Dec 26, 2020 · 1 comment
Assignees

Comments

@jon85p
Copy link
Owner

jon85p commented Dec 26, 2020

Ejemplo:
f = 5[cm] - 8
n = 2

Se duplica aparentemente la variable "n", cuando no se activa evento de escritura o cambio de pestaña (es decir copiar, pegar e inmediatamente después darle en Resolver)

Para que ocurra, tienen que ir unidades en el texto para que ocurra.

@xmagor
Copy link
Collaborator

xmagor commented Dec 27, 2020

Inicialmente cuando se ingresa a la función solve cuando se presiona el boton para resolver el sistema de eq, se crea el backup de la lista donde están los objetos de cada variable:

pyENL/pyENL.py

Line 599 in 56e4298

backup_var = deepcopy(self.variables)

Luego dentro de solver.py en la función solver está la siguiente línea:

pyENL/solver.py

Line 141 in 56e4298

pyENL_variables.sort(key=lambda x: x.name.lower())

Se ordena pyENL_variables y esa variable es un puntero a self.variables, por lo que de ahí en adelante el orden de self.variables es diferente al orden del backup creado inicialmente

Ahora, como el sistema de ecuaciones planteado falla, entonces lo ultimo que se realiza es recuperar el backup de las variables:

pyENL/pyENL.py

Lines 633 to 635 in 56e4298

for i, var_ in enumerate(backup_var):
if not self.variables[i].solved:
self.variables[i] = var_

Y ahí es donde está el inconveniente ya que el for barre las variables del backup pero internamente del for se valida con self.variables asumiendo que tienen el mismo orden que el backup!

@xmagor xmagor self-assigned this Jan 1, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants