Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: YaD 21 Června 2011, 15:55:54

Název: [VYRIEŠENÉ] Python - neznáme úkazy (ráta zle)
Přispěvatel: YaD 21 Června 2011, 15:55:54
Zdravíčko,
mám program, ktorý mi ráta jednotlivé členy binomickej vety a potom ich pošle na výstup (vývojová verzia :)) a mám problém - jednoduchý(?), Python (3) mi v prípade posledného člena vyráta nejakú somarinu, pričom ak zadám člena explicitne (tretí parameter funkcie run), tak ho vyráta dobre. Ak zostávajú totiž implicitné hodnoty, tak vyráta všetky členy a vypíše na výstup.

Kód: http://paste.jabbim.cz/5239
Posledný riadok je spustenie. Člen odporúčam dosadiť 3 pri súčasnom výraze a porovnať s výsledkom bez člena. Problém mi je neznámy...
Název: Re: Python - neznáme úkazy (ráta zle)
Přispěvatel: starenka 26 Června 2011, 11:46:54
lustit se mi to nechce, tak jen klasicky rady:
- pokud to jede v 2.x a ve 3.x to hazi jinej vysledek, slej bych changelogy ohledne operatoru etc
- na debug staci pouzit pdb nebo ipython a muzes si to osahavat za behu
Název: Re: Python - neznáme úkazy (ráta zle)
Přispěvatel: YaD 29 Června 2011, 10:05:18
Debugovať som to debugoval - používam v Eclipse PyDev, ale problém je ten, že jediný rozdiel vo výsledkoch spôsobí cyklus v run.

CompositeNumber je trieda, resp. dátový typ, navrhnutý na prechovávanie takýchto čísiel: 5*x^3*y^3, 2*x, x^4*y^1 alebo x.
Název: Re: Python - neznáme úkazy (ráta zle)
Přispěvatel: YaD 19 Července 2011, 18:54:55
Problém som vyriešil (nedostal som sa k tomu). Problém kotví v CompositeNumber.__mul__, kde sa tvorí objekt na výstup - obj, ktorý ak sa vytvorí bez parametrov, tak skopíruje tie v self, čo mi je trošku divné, ale riešenie bolo napísať paremetre explicitne.