Se rendre au contenu
Menu
Cette question a été signalée
4 Réponses
6599 Vues

c = Taxable Income if c <= 170000:

    result = c

elif 170000<c<=360000:

      result = round(0.09 * (c - 170000))

elif 360000<c<=540000:

      result = round(17,100 + (0.2 * (c - 360000)))

elif 540000<c<=720000:

      result = round(53100 + (0.25 * (c - 540000)))

elif c>720000:

     result = round(98100 + (0.3 * (c - 720000)))

else:

       result = 0

Avatar
Ignorer
Meilleure réponse

Yes, Python recognize code blocks by indentation. Niyas, you missed out the variable assignation..

c = [Taxable Income] -> this should be a value or a variable calculated in another rule.

if c <= 170000:
    c = Taxable_Income
    result = c
elif 170000 < c <= 360000:
    result = round(0.09 * (c - 170000))
elif 360000 < c <= 540000:
    result = round(17, 100 + 0.2 * (c - 360000))
elif 540000 < c <= 720000:
    result = round(53100 + 0.25 * (c - 540000))
elif c > 720000:
    result = round(98100 + 0.3 * (c - 720000))
else:
    result = 0
Avatar
Ignorer
Meilleure réponse

Hey, Your code seems correct. May be you are doing mistake while write the same code in your rule. Just remind you Do not add any space before your statement in rule. in your case c =Taxable_income start with first column in rule.

Avatar
Ignorer
Meilleure réponse

Try this,

# -*- coding: utf-8 -*-
if c <= 170000:
c = Taxable_Income
result = c elif 170000 < c <= 360000:
result = round(0.09 * (c - 170000))
elif 360000 < c <= 540000:
result = round(17, 100 + 0.2 * (c - 360000))
elif 540000 < c <= 720000:
result = round(53100 + 0.25 * (c - 540000))
elif c > 720000:
result = round(98100 + 0.3 * (c - 720000))
else:
result = 0

Just corrected the syntax and white spacing.

Thanks

Avatar
Ignorer
Auteur Meilleure réponse

Still not working


Avatar
Ignorer