# Ticket
# Repetición, decisión.
# Se piden importes hasta que se introduzca un cero.
# Junto a cada importe, se calcula el IVA, que puede ser:
# g - general (21%) r - reducido (10%) s - superreducido (4%)
# Calcular el total de importe y total de IVA
# Descuentos: por el total del importe:
# 0% < 1000 - 5% >= 1000 y < 10000, y 10% >= 10000
# Los descuentos se aplican al importe total y al IVA total.
# Se suman los totales al final.
importe_total = 0
iva_total = 0
importe = -1
iva = ''
while importe != 0 :
importe = float ( input ( "Importe: EUR " ) )
if importe > 0 :
importe_total += importe
iva = input ( "IVA (g/eneral, r/educido, s/uperreducido): " )
iva = iva.strip ( ) [ 0 ]
if iva == 'g' :
iva_total += importe * 0.21
elif iva == 'r' :
iva_total += importe * 0.10
else :
iva_total += importe * 0.04
print ( str .format ( "Total antes de impuestos: {0:7.2f}" , importe_total) )
print ( str .format ( "Total impuestos: {0:7.2f}" , iva_total) )
if importe_total < 1000 :
descuento = 0.0
elif importe_total < 10000 :
descuento = 0.05
else :
descuento = 0.10
print ( str .format ( "Descuento: {:3d}%" , int ( descuento * 100 ) ) )
importe_total = importe_total - ( importe_total * descuento)
iva_total = iva_total - ( iva_total * descuento)
print ( str .format ( "Total antes de impuestos: {0:7.2f}" , importe_total) )
print ( str .format ( "Total impuestos: {0:7.2f}" , iva_total) )
print ( str .format ( "Total: {0:7.2f}" , importe_total + iva_total) )
IyBUaWNrZXQKIyBSZXBldGljacOzbiwgZGVjaXNpw7NuLgojIFNlIHBpZGVuIGltcG9ydGVzIGhhc3RhIHF1ZSBzZSBpbnRyb2R1emNhIHVuIGNlcm8uCiMgSnVudG8gYSBjYWRhIGltcG9ydGUsIHNlIGNhbGN1bGEgZWwgSVZBLCBxdWUgcHVlZGUgc2VyOgojICAgZyAtIGdlbmVyYWwgKDIxJSkgciAtIHJlZHVjaWRvICgxMCUpIHMgLSBzdXBlcnJlZHVjaWRvICg0JSkKIyBDYWxjdWxhciBlbCB0b3RhbCBkZSBpbXBvcnRlIHkgdG90YWwgZGUgSVZBCiMgRGVzY3VlbnRvczogcG9yIGVsIHRvdGFsIGRlbCBpbXBvcnRlOgojIDAlIDwgMTAwMCAtIDUlID49IDEwMDAgeSA8IDEwMDAwLCB5IDEwJSA+PSAxMDAwMAojIExvcyBkZXNjdWVudG9zIHNlIGFwbGljYW4gYWwgaW1wb3J0ZSB0b3RhbCB5IGFsIElWQSB0b3RhbC4KIyBTZSBzdW1hbiBsb3MgdG90YWxlcyBhbCBmaW5hbC4KCmltcG9ydGVfdG90YWwgPSAwCml2YV90b3RhbCA9IDAKaW1wb3J0ZSA9IC0xCml2YSA9ICcnCgp3aGlsZSBpbXBvcnRlICE9IDA6CiAgICBpbXBvcnRlID0gZmxvYXQoaW5wdXQoIkltcG9ydGU6IEVVUiAiKSkKICAgIGlmIGltcG9ydGUgPiAwOgogICAgICAgIGltcG9ydGVfdG90YWwgKz0gaW1wb3J0ZQogICAgICAgIGl2YSA9IGlucHV0KCJJVkEgKGcvZW5lcmFsLCByL2VkdWNpZG8sIHMvdXBlcnJlZHVjaWRvKTogIikKICAgICAgICBpdmEgPSBpdmEuc3RyaXAoKVswXQoKICAgICAgICBpZiBpdmEgPT0gJ2cnOgogICAgICAgICAgICBpdmFfdG90YWwgKz0gaW1wb3J0ZSAqIDAuMjEKICAgICAgICBlbGlmIGl2YSA9PSAncic6CiAgICAgICAgICAgIGl2YV90b3RhbCArPSBpbXBvcnRlICogMC4xMAogICAgICAgIGVsc2U6CiAgICAgICAgICAgIGl2YV90b3RhbCArPSBpbXBvcnRlICogMC4wNAoKcHJpbnQoc3RyLmZvcm1hdCgiVG90YWwgYW50ZXMgZGUgaW1wdWVzdG9zOiB7MDo3LjJmfSIsIGltcG9ydGVfdG90YWwpKQpwcmludChzdHIuZm9ybWF0KCJUb3RhbCBpbXB1ZXN0b3M6ICAgICAgICAgIHswOjcuMmZ9IiwgaXZhX3RvdGFsKSkKCmlmIGltcG9ydGVfdG90YWwgPCAxMDAwOgogICAgZGVzY3VlbnRvID0gMC4wCmVsaWYgaW1wb3J0ZV90b3RhbCA8IDEwMDAwOgogICAgZGVzY3VlbnRvID0gMC4wNQplbHNlOgogICAgZGVzY3VlbnRvID0gMC4xMAoKcHJpbnQoc3RyLmZvcm1hdCgiRGVzY3VlbnRvOiAgICAgICAgICAgICAgICAgezozZH0lIiwgaW50KGRlc2N1ZW50byAqIDEwMCkpKQoKaW1wb3J0ZV90b3RhbCA9IGltcG9ydGVfdG90YWwgLSAoaW1wb3J0ZV90b3RhbCAqIGRlc2N1ZW50bykKaXZhX3RvdGFsID0gaXZhX3RvdGFsIC0gKGl2YV90b3RhbCAqIGRlc2N1ZW50bykKCnByaW50KHN0ci5mb3JtYXQoIlRvdGFsIGFudGVzIGRlIGltcHVlc3RvczogezA6Ny4yZn0iLCBpbXBvcnRlX3RvdGFsKSkKcHJpbnQoc3RyLmZvcm1hdCgiVG90YWwgaW1wdWVzdG9zOiAgICAgICAgICB7MDo3LjJmfSIsIGl2YV90b3RhbCkpCnByaW50KHN0ci5mb3JtYXQoIlRvdGFsOiAgICAgICAgICAgICAgICAgICAgezA6Ny4yZn0iLCBpbXBvcnRlX3RvdGFsICsgaXZhX3RvdGFsKSkKCg==
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