text_demo / rules_engine.py
Ahmed12322's picture
Update rules_engine.py
e450bc0 verified
Raw
History Blame Contribute Delete
504 Bytes
def calculate_tax(income, tax_brackets):
"""Calculate tax using progressive brackets."""
tax = 0
previous_limit = 0
for bracket in sorted(tax_brackets, key=lambda x: x["limit"]):
if income > bracket["limit"]:
taxable_amount = bracket["limit"] - previous_limit
tax += taxable_amount * bracket["rate"]
previous_limit = bracket["limit"]
else:
tax += (income - previous_limit) * bracket["rate"]
break
return tax