fork download
  1. # Ticket
  2. # Repetición, decisión.
  3. # Se piden importes hasta que se introduzca un cero.
  4. # Junto a cada importe, se calcula el IVA, que puede ser:
  5. # g - general (21%) r - reducido (10%) s - superreducido (4%)
  6. # Calcular el total de importe y total de IVA
  7. # Descuentos: por el total del importe:
  8. # 0% < 1000 - 5% >= 1000 y < 10000, y 10% >= 10000
  9. # Los descuentos se aplican al importe total y al IVA total.
  10. # Se suman los totales al final.
  11.  
  12. importe_total = 0
  13. iva_total = 0
  14. importe = -1
  15. iva = ''
  16.  
  17. while importe != 0:
  18. importe = float(input("Importe: EUR "))
  19. if importe > 0:
  20. importe_total += importe
  21. iva = input("IVA (g/eneral, r/educido, s/uperreducido): ")
  22. iva = iva.strip()[0]
  23.  
  24. if iva == 'g':
  25. iva_total += importe * 0.21
  26. elif iva == 'r':
  27. iva_total += importe * 0.10
  28. else:
  29. iva_total += importe * 0.04
  30.  
  31. print(str.format("Total antes de impuestos: {0:7.2f}", importe_total))
  32. print(str.format("Total impuestos: {0:7.2f}", iva_total))
  33.  
  34. if importe_total < 1000:
  35. descuento = 0.0
  36. elif importe_total < 10000:
  37. descuento = 0.05
  38. else:
  39. descuento = 0.10
  40.  
  41. print(str.format("Descuento: {:3d}%", int(descuento * 100)))
  42.  
  43. importe_total = importe_total - (importe_total * descuento)
  44. iva_total = iva_total - (iva_total * descuento)
  45.  
  46. print(str.format("Total antes de impuestos: {0:7.2f}", importe_total))
  47. print(str.format("Total impuestos: {0:7.2f}", iva_total))
  48. print(str.format("Total: {0:7.2f}", importe_total + iva_total))
  49.  
  50.  
Success #stdin #stdout 0.02s 27704KB
stdin
12
g
20
r
5
s
0

stdout
Importe: EUR IVA (g/eneral, r/educido, s/uperreducido): Importe: EUR IVA (g/eneral, r/educido, s/uperreducido): Importe: EUR IVA (g/eneral, r/educido, s/uperreducido): Importe: EUR Total antes de impuestos:   37.00
Total impuestos:             4.72
Descuento:                   0%
Total antes de impuestos:   37.00
Total impuestos:             4.72
Total:                      41.72