Consulta: https://docs.python.org/3.5/library/fractions.html
Python permette di usare le frazioni e quindi di affrontare in modo naturale molti problemi matematici tradizionali (MCD, mcm, equazioni, sistemi, …)
Costruttori
fractions.Fraction() | Restituisce (0, 1) |
fractions.Fraction(10) | Restituisce (10, 1) |
fractions.Fraction(11, 10) | Restituisce (11, 10) |
fractions.Fraction(1.1) | NON restituisce (11, 10): (2476979795053773, 2251799813685248) |
fractions.Fraction('11/10') | Restituisce (11, 10) |
fractions.Fraction('1.1') | Restituisce (11, 10) |
fractions.Fraction('11/10') | Restituisce (11, 10) |
fractions.Fraction(f) | Restituisce una copia della frazione f |
Operatori
f1 + f2 | Fraction | Addizione |
f1 - f2 | Fraction | Sottrazione |
f1 * f2 | Fraction | Moltiplicazione |
f1 / f2 | Fraction | Divisione |
f1 ** n | Fraction | Potenza n-esima |
f1 < f2 | bool | … |
f1 <= f2 | bool | … |
f1 > f2 | bool | … |
f1 >= f2 | bool | … |
f1 == f2 | bool | … |
f1 != f2 | bool | … |
Funzioni / metodi / proprietà
Nome | Tipo | Funzionalità |
---|---|---|
abs(f) | Fraction | Restituisce la frazione senza segno |
f.as_integer_ratio() | tuple | Restituisce una coppia di interi il cui rapporto è uguale a f |
f.denominator | int | Restituisce il denominatore di f |
f.limit_denominator() | Fraction | Restituisce la frazione più vicina a f. Con il denominatore non maggiore di n. |
max(f1, f2, ...) | Fraction | … |
min(f1, f2, ...) | Fraction | … |
f.numerator | int | Restituisce il numeratore di f |
pow(f, n) | Fraction | Restituisce la potenza n-esima di f |
round(f, n) | Fraction | Restituisce la frazione più vicina a f con a denominatore 10**n (?) |
sum(z) | Fraction | Restituisce la somma di una sequenza di frazioni |
Si possono applicare le funzioni di uso comune e ottenere float/int
- float(f), int(f), pow(f1, f2), round(f), …
- math.ceil(f), math.floor(f), math.sqrt(f), …
- random.uniform(f1, f2), …
Prova
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 |
import fractions import math n1=10; d1=12 n2=12; d2=10 a=fractions.Fraction(n1,d1) # costruttore b=fractions.Fraction(n2,d2) print('a =', a) print('b =', b) print() print(a, '+' , b, '=', a+b ) # operatori matematici print(a, '-' , b, '=', a-b ) print(a, '*' , b, '=', a*b ) print(a, '/' , b, '=', a/b ) print(a, '**', 2, '=', a**2) print() print(a, '<' , b, '=', a < b ) # operatori di confronto print(a, '<=', b, '=', a <= b) print(a, '>' , b, '=', a < b ) print(a, '>=', b, '=', a >= b) print(a, '==', b, '=', a == b) print(a, '!=', b, '=', a != b) print() print(' abs(' , a , ') =', abs(a) ) # funzioni print('math.ceil(' , a , ') =', math.ceil(a) ) print(' float(', a , ') =', float(a) ) print('math.floor(', a , ') =', math.floor(a) ) print(' int(' , a , ') =', int(a) ) print(' pow(' , a, ',', 2, ') =', pow(a,2) ) print(' pow(' , a, ',', b, ') =', pow(a,b) ) print(' round(', a , ') =', round(a) ) print(' round(', a, ',', 1, ') =', round(a,1) ) print() print('numerator =', a.numerator ) # metodi print('denominator =', a.denominator) print('fractions.Fraction.from_float(1.1) =', fractions.Fraction.from_float(1.1)) print('limit_denominator(2) =', a.limit_denominator(2)) |