How to calculate tax in python?

Question:

I need to write a function compute_tax(money_list) that calculates the total tax for a given list of financial amounts. The rich (200 money and more) pay a tax of 20. Those who are not rich, but have at least 100 money, pay a tax of 10. The others do not pay the tax. I have prepared the basis of the function, which needs to be fixed and finished.

def compute_tax(money_list):
    tax = 0
    for money in money_list:
        if money >= 200:
            tax += 20
        elif money >= 100:
            tax += 10
        else:
            tax += 0
        money += tax
    return tax

print(compute_tax([50, 20, 80]))
print(compute_tax([50, 120, 80, 480]))
print(compute_tax([250, 120, 170, 480, 30, 1000]))
print(compute_tax([250, 120, 70, 4080, 30, 120, 600, 78]))

Needed output have to be:

0
30
80
80

Answers:

You have two issues in your code. Firstly you just check for money == 100 in your first if Statement and secondly you assign tax = 0 in your else statement. To correct:

def compute_tax(money_list):
    tax = 0
    for money in money_list:
        if money >= 100 and money < 200:
            tax += 10
        elif money >= 200:
            tax += 20
        else:
            tax += 0
        money -= tax
    return tax


print(compute_tax([50, 120, 80, 480]))
print(compute_tax([250, 120, 170, 480, 30, 1000]))
print(compute_tax([50, 20, 80]))

Simplier u can just check for money <100, money >= 200 and else as matszwecja
pointed out.

Answered By: ggoer
Categories: questions Tags: , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.