>>> from fracs import * TESTS fraccio_reciproca >>> import fractions >>> x = fractions.Fraction(7, 3) >>> fraccio_reciproca(x) Fraction(3, 7) >>> fraccio_reciproca(fractions.Fraction(100, 1)) Fraction(1, 100) >>> fraccio_reciproca(fractions.Fraction(12, 400)) Fraction(100, 3) TESTS fraccio_mixta >>> x = fractions.Fraction(7, 3) >>> fraccio_mixta(x) (2, Fraction(1, 3)) >>> fraccio_mixta(fractions.Fraction(2, 5)) (0, Fraction(2, 5)) >>> fraccio_mixta(fractions.Fraction(4, 2)) (2, Fraction(0, 1)) TESTS millor_aprox >>> millor_aprox(0.3, [fractions.Fraction(1, 3), fractions.Fraction(2, 7)]) Fraction(2, 7) >>> millor_aprox(3.1415926535897932, ... [fractions.Fraction(3, 1), fractions.Fraction(355, 113), fractions.Fraction(31416, 10000)]) Fraction(355, 113) TESTS fr_positives >>> lfr = [(-4, 8), (9, 2), (17, 4), (5, -2), (-27, -5), (99, 7), (-60, 4), (1, 6), (-3, 4), (3, 4), (46, 11), (67, 12)] >>> itf = map(lambda x: fractions.Fraction(x[0], x[1]), lfr) >>> itm = fr_positives(itf) >>> next(itm) (4, Fraction(1, 2)) >>> next(itm) (4, Fraction(1, 4)) >>> list(itm) [(5, Fraction(2, 5)), (14, Fraction(1, 7)), (0, Fraction(1, 6)), (0, Fraction(3, 4)), (4, Fraction(2, 11)), (5, Fraction(7, 12))] TESTS seq_fraccions >>> it = seq_fraccions(10) >>> iter(it) == it True >>> list(it) [Fraction(1, 10), Fraction(1, 5), Fraction(3, 10), Fraction(2, 5), Fraction(1, 2), Fraction(3, 5), Fraction(7, 10), Fraction(4, 5), Fraction(9, 10)] >>> it = seq_fraccions(100) >>> for i in range(80): ... a = next(it) >>> list(it) [Fraction(81, 100), Fraction(41, 50), Fraction(83, 100), Fraction(21, 25), Fraction(17, 20), Fraction(43, 50), Fraction(87, 100), Fraction(22, 25), Fraction(89, 100), Fraction(9, 10), Fraction(91, 100), Fraction(23, 25), Fraction(93, 100), Fraction(47, 50), Fraction(19, 20), Fraction(24, 25), Fraction(97, 100), Fraction(49, 50), Fraction(99, 100)]