Il giorno 16 giugno 2013 14:42, Gianni Di Noia ha scritto: > > >> > def percentage(part, total): >> > return part * 100.0 / total >> > >> > >>> percentage(8, 80) >> > 10 >> >> Questo significa: "la percentuale di ottanta che dà come risultato otto è >> dieci". Poco chiaro e prono ad errori. Perché inverti i fattori? > > > se ho preso 8 mele da una cesta che ne contiene 80, che % ho preso? > capita spesso di rispondere a domande così >
Perfetto. Ma allora non si tratta di «8% of 80», bensì del rapporto fra 8 e 80 (i.e. otto ottantesimi) espresso in centesimi (un tizio barbuto direbbe che «le parole sono importanti»). Del tipo: def hundredths_from_ratio(amount, denominator=None): result = amount * 100.0 if denominator: result /= denominator return result >>> hundredths_from_ratio(8, 80) 10.0 >>> otto_ottantesimi = 8 / 80 >>> hundredths_from_ratio(otto_ottantesimi) 10.0 Può avere senso? -- Nadir
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python