[Python] Exercism.io test: Assetion Error

Carlo Miron miron a python.it
Sab 22 Ago 2020 13:21:17 CEST


Ciao Simone

Il giorno sab 22 ago 2020 alle ore 10:13 Simone Giuri
<s.giuri a issm.it> ha scritto:
> Sto risolvendo alcuni degli esercizi proposti su exercism, ma nonostante in apparenza i risultati siano corretti, la sessione di test proposta mi restituisce comunque un assertion error su molti dei test condotti (17 su 38).
> L''esercisio è rational-numbers e sia la soluzione che la sesisone di test è pubblicata al link: https://exercism.io/tracks/python/exercises/rational-numbers/solutions/3b67ca1690e246e8bcbbee407703c2a5
> Se testo i due risultati con un "==" il risultato è True... ma probabilmente c'è qualche cosa che mi sfugge...
> Gli errori sembrano concentrati nelle funzioni  e test che prevedono un cambio del segno, forse nel metodo __repr__
> [...]
> Cosa sto trascurando ?

Ci sono 3 piccoli errori, nella tua classe. Il primo è che normalizzi
i valori, semplificando con `gcd` solo su `__repr__`; pertanto
*visualizzi* il numero in forma normalizzata, ma non lo *memorizzi*
come tale. Io applicherei la normalizzazione direttamente su
`__init__`. E ricorda di normalizzare anche il segno!
Del terzo problema hai individuato correttamente la causa, il cambio
di segno, ma non la soluzione: non è `__repr__` ad essere sbagliato,
ma `__abs__`.

Buon lavoro,
㎝

--
!!!! THE -WARE LICENSE (Revision ㊷):
    <miron.🇮🇹> wrote this 📧. As long as you retain this notice you can
    do whatever you want with this stuff. If we meet some day, and you
    think this stuff is worth it, you can buy me a in return. — Carlo


Maggiori informazioni sulla lista Python