Impostos

Dissenya la funció impostos(fact, domus) que donats un real fact que representa la facturació d’una empresa en milions d’euros i un string domus que indica el domicili fiscal (“P” a paradisos fiscals, “E” a Espanya, “A” a altres), retorni la quantitat d’impostos que ha de pagar l’empresa segons les següents normes:

  • si l’empresa té domicili fiscal a un paradís fiscal, sigui quina sigui la facturació, no paga res.

  • si la facturació supera els 100 milions, no paga res.

  • si la facturació és inferior o igual a 1 milió, paga un 20% d’aquesta facturació.

  • si la facturació està entre 1 i 10 milions (no inclosos), paga un 15% d’aquesta facturació.

  • si la facturació està entre 10 i 100 milions (inclosos), paga un 10% d’aquesta facturació.

Independenment de l’anterior, si l’empresa paga els impostos a Espanya, se li descompta la meitat de la quantitat a pagar, és a dir, la calculada mitjançant les normes anteriors.

Desa la funció al fitxer impostos.py. La funció ha de passar el següent doctest:

>>> round(impostos(123.0,'A'), 2)
0.0
>>> round(impostos(23.0,'P'), 2)
0.0
>>> round(impostos(23.0,'E'), 2)
1.15
>>> round(impostos(23.0,'A') ,2)
2.3
>>> round(impostos(9.6,'E'), 2)
0.72
>>> round(impostos(8.6,'A') ,2)
1.29
>>> round(impostos(0.61,'E'), 2)
0.06
>>> round(impostos(0.76,'A') ,2)
0.15

Nota

Pots descarregar el fitxer amb tests impostos.txt

Solució

Disposeu de solucions al fitxer impostos.py