Advertisement
science_man_88

Tax

Sep 3rd, 2024 (edited)
227
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 9.16 KB | None | 0 0
  1. def tax(p,i):
  2.     if p=="NS":
  3.         if i<=29590:
  4.             return i-0.2379*i
  5.         elif i<=55867:
  6.             return (i-29590)*(1-0.2995)+tax(p,29590)
  7.         elif i<=59180:
  8.             return (i-55867)*(1-0.35)+tax(p,55867)
  9.         elif i<=93000:
  10.             return (i-59180)*(1-0.3672)+tax(p,59180)
  11.         elif i<=111733:
  12.             return (i-93000)*(1-0.38)+tax(p,93000)
  13.         elif i<=150000:
  14.             return (i-111733)*(1-0.435)+tax(p,111733)
  15.         elif i<=173205:
  16.             return (i-150000)*(1-0.47)+tax(p,150000)
  17.         elif i<=246752:
  18.             return (i-150000)*(1-0.5)+tax(p,150000)
  19.         elif i>246752:
  20.             return (i-246752)*(1-0.54)+tax(p,246752)
  21.         else:
  22.             pass
  23.     elif p=="NB":
  24.         if i<=49958:
  25.             return i-0.244*i
  26.         elif i<=55867:
  27.             return (i-49958)*(1-0.29)+tax(p,49958)
  28.         elif i<=99916:
  29.             return (i-55867)*(1-0.345)+tax(p,55867)
  30.         elif i<=111733:
  31.             return (i-99916)*(1-0.365)+tax(p,99916)
  32.         elif i<=173205:
  33.             return (i-111733)*(1-0.42)+tax(p,111733)
  34.         elif i<=185064:
  35.             return (i-173205)*(1-0.45)+tax(p,173205)
  36.         elif i<=246752:
  37.             return (i-185064)*(1-0.485)+tax(p,185064)
  38.         elif i>246752:
  39.             return (i-246752)*(1-0.525)+tax(p,246752)
  40.         else:
  41.             pass
  42.     elif p=="PE":
  43.         if i<=32656:
  44.             return i-0.2465*i
  45.         elif i<=55867:
  46.             return (i-32656)*(1-0.2863)+tax(p,32656)
  47.         elif i<=64313:
  48.             return (i-55867)*(1-0.3413)+tax(p,55867)
  49.         elif i<=105000:
  50.             return (i-64313)*(1-0.3715)+tax(p,64313)
  51.         elif i<=111733:
  52.             return (i-105000)*(1-0.385)+tax(p,105000)
  53.         elif i<=140000:
  54.             return (i-111733)*(1-0.44)+tax(p,111733)
  55.         elif i<=173205:
  56.             return (i-140000)*(1-0.4475)+tax(p,140000)
  57.         elif i<=246752:
  58.             return (i-173205)*(1-0.4775)+tax(p,173205)
  59.         elif i>246752:
  60.             return (i-246752)*(1-0.5175)+tax(p,246752)
  61.         else:
  62.             pass
  63.     elif p=="NL":
  64.         if i<=43198:
  65.             return i-0.237*i
  66.         elif i<=55867:
  67.             return (i-43198)*(1-0.295)+tax(p,43198)
  68.         elif i<=86395:
  69.             return (i-55867)*(1-0.35)+tax(p,55867)
  70.         elif i<=111733:
  71.             return (i-86395)*(1-0.368)+tax(p,86395)
  72.         elif i<=154244:
  73.             return (i-111733)*(1-0.418)+tax(p,111733)
  74.         elif i<=173205:
  75.             return (i-154244)*(1-0.438)+tax(p,154244)
  76.         elif i<=215943:
  77.             return (i-173205)*(1-0.468)+tax(p,173205)
  78.         elif i<=246752:
  79.             return (i-215943)*(1-0.488)+tax(p,215943)
  80.         elif i<=275870:
  81.             return (i-246752)*(1-0.528)+tax(p,246752)
  82.         elif i<=551739:
  83.             return (i-275870)*(1-0.538)+tax(p,275870)
  84.         elif i<=1103478:
  85.             return (i-551739)*(1-0.543)+tax(p,i-551739)
  86.         elif i>1103478:
  87.             return (i-1103478)*(1-0.548)+tax(p,i-1103478)
  88.         else:
  89.             pass
  90.     elif p=="QC":
  91.         if i<=51780:
  92.             return i-i*0.29
  93.         elif i<=55867:
  94.             return (i-51780)*(1-0.34)+tax(p,51780)
  95.         elif i<=103545:
  96.             return (i-55867)*(1-0.395)+tax(p,55867)
  97.         elif i<=111733:
  98.             return (i-103545)*(1-0.445)+tax(p,103545)
  99.         elif i<=126000:
  100.             return (i-111733)*(1-0.5)+tax(p,111733)
  101.         elif i<=173205:
  102.             return (i-126000)*(1-0.5175)+tax(p,126000)
  103.         elif i<=246752:
  104.             return (i-173205)*(1-0.5475)+tax(p,173205)
  105.         elif i>246752:
  106.             return (i-246752)*(1-0.5875)+tax(p,246752)
  107.     elif p=="ON":
  108.         if i<=51446:
  109.             return i-0.2005*i
  110.         elif i<=55867:
  111.             return (i-51446)*(1-0.2415)+tax(p,51446)
  112.         elif i<=102894:
  113.             return (i-55867)*(1-0.2965)+tax(p,55867)
  114.         elif i<=111733:
  115.             return (i-102894)*(1-0.3166)+tax(p,102894)
  116.         elif i<=150000:
  117.             return (i-111733)*(1-0.3716)+tax(p,i-111733)
  118.         elif i<=173205:
  119.             return (i-150000)*(1-0.3816)+tax(p,150000)
  120.         elif i<=220000:
  121.             return (i-111733)*(1-0.4116)+tax(p,111733)
  122.         elif i<=246752:
  123.             return (i-220000)*(1-0.4216)+tax(p,120000)
  124.         elif i>246752:
  125.             return (i-246752)*(1-0.4616)+tax(p,246752)
  126.         else:
  127.             pass
  128.     elif p=="SK":
  129.         if i<=52057:
  130.             return i-0.255*i
  131.         elif i<=55867:
  132.             return (i-52057)*(1-0.275)+tax(p,52057)
  133.         elif i<=111733:
  134.             return (i-55867)*(1-0.33)+tax(p,55867)
  135.         elif i<=148734:
  136.             return (i-111733)*(1-0.385)+tax(p,111733)
  137.         elif i<=173205:
  138.             return (i-148734)*(1-0.405)+tax(p,148734)
  139.         elif i<=246752:
  140.             return (i-173205)*(1-0.435)+tax(p,173205)
  141.         elif i>246752:
  142.             return (i-246752)*(1-0.475)+tax(p,246752)
  143.         else:
  144.             pass
  145.     elif p=="AB":
  146.         if i<=55867:
  147.             return i-i*0.25
  148.         elif i<=111733:
  149.             return (i-55867)*(1-0.305)+tax(p,55867)
  150.         elif i<=148269:
  151.             return (i-111733)*(1-0.36)+tax(p,111733)
  152.         elif i<=173205:
  153.             return (i-148269)*(1-0.38)+tax(p,148269)
  154.         elif i<=177922:
  155.             return (i-173205)*(1-0.41)+tax(p,173205)
  156.         elif i<=237230:
  157.             return (i-177922)*(1-0.42)+tax(p,177922)
  158.         elif i<=246752:
  159.             return (i-237230)*(1-0.43)+tax(p,237230)
  160.         elif i<=355845:
  161.             return (i-246752)*(1-0.47)+tax(p,246752)
  162.         elif i>355845:
  163.             return (i-355845)*(1-0.48)+tax(p,355845)
  164.         else:
  165.             pass
  166.     elif p=="MB":
  167.         if i<=47000:
  168.             return i-i*0.258
  169.         elif i<=55867:
  170.             return (i-47000)*(1-0.2775)+tax(p,47000)
  171.         elif i<=100000:
  172.             return (i-55867)*(1-0.3325)+tax(p,55867)
  173.         elif i<=111733:
  174.             return (i-100000)*(1-0.379)+tax(p,100000)
  175.         elif i<=173205:
  176.             return (i-111733)*(1-0.434)+tax(p,111733)
  177.         elif i<=246752:
  178.             return (i-173205)*(1-0.464)+tax(p,173205)
  179.         elif i>246752:
  180.             return (i-246752)*(1-0.504)+tax(p,246752)
  181.         else:
  182.             pass
  183.     elif p=="BC":
  184.         if i<=47937:
  185.             return i-0.206*i
  186.         elif i<=55867:
  187.             return (i-47937)*(1-0.227)+tax(p,47937)
  188.         elif i<=95875:
  189.             return (i-55867)*(1-0.282)+tax(p,55867)
  190.         elif i<=110075:
  191.             return (i-95875)*(1-0.31)+tax(p,95875)
  192.         elif i<=111733:
  193.             return (i-110075)*(1-0.3279)+tax(p,110075)
  194.         elif i<=133664:
  195.             return (i-111733)*(1-0.3829)+tax(p,111733)
  196.         elif i<=173205:
  197.             return (i-133664)*(1-0.407)+tax(p,133664)
  198.         elif i<=181232:
  199.             return (i-173205)*(1-0.437)+tax(p,173205)
  200.         elif i<=246752:
  201.             return (i-181232)*(1-0.458)+tax(p,181232)
  202.         elif i<=252752:
  203.             return (i-246752)*(1-0.498)+tax(p,246752)
  204.         elif i>252752:
  205.             return (i-252752)*(1-0.535)+tax(p,252752)
  206.         else:
  207.             pass
  208.     elif p=="NT":
  209.         if i<=50597:
  210.             return i-i*0.209
  211.         elif i<=55867:
  212.             return (i-50597)*(1-0.236)+tax(p,50597)
  213.         elif i<=101198:
  214.             return (i-55867)*(1-0.291)+tax(p,55867)
  215.         elif i<=111733:
  216.             return (i-101198)*(1-0.327)+tax(p,101198)
  217.         elif i<=164525:
  218.             return (i-111733)*(1-0.382)+tax(p,111733)
  219.         elif i<=173205:
  220.             return (i-164525)*(1-0.4005)+tax(p,164525)
  221.         elif i<246752:
  222.             return (i-173205)*(1-0.4305)+tax(p,173205)
  223.         elif i>246752:
  224.             return (i-246752)*(1-0.4705)+tax(p,246752)
  225.         else:
  226.             pass
  227.     elif p=="YT":
  228.         if i<=55867:
  229.             return i-i*0.214
  230.         elif i<=111733:
  231.             return (i-55867)*(1-0.295)+tax(p,55867)
  232.         elif i<=173205:
  233.             return (i-111733)*(1-0.369)+tax(p,111733)
  234.         elif i<=246752:
  235.             return (i-173205)*(1-0.418)+tax(p,173205)
  236.         elif i<=500000:
  237.             return (i-246752)*(1-0.458)+tax(p,246752)
  238.         elif i>500000:
  239.             return (i-500000)*(1-0.48)+tax(p,500000)
  240.         else:
  241.             pass
  242.     elif p=="NU":
  243.         if i<=53268:
  244.             return i-i*0.19
  245.         elif i<=55867:
  246.             return (i-53268)*(1-0.23)+tax(p,53268)
  247.         elif i<=106537:
  248.             return (i-55867)*(1-0.275)+tax(p,55867)
  249.         elif i<=111733:
  250.             return (i-106537)*(1-0.295)+tax(p,106537)
  251.         elif i<=173205:
  252.             return (i-111733)*(1-0.35)+tax(p,111733)
  253.         elif i<=246752:
  254.             return (i-17320e5)*(1-0.405)+tax(p,173205)
  255.         elif i>246752:
  256.             return (i-246752)*(1-0.445)+tax(p,246752)
  257.         else:
  258.             pass
  259.     else:
  260.         pass
  261. income=52000
  262. print(tax("NS",income))
  263. print(tax("NB",income))
  264. print(tax("PE",income))
  265. print(tax("NL",income))
  266. print(tax("QC",income))
  267. print(tax("ON",income))
  268. print(tax("SK",income))
  269. print(tax("AB",income))
  270. print(tax("MB",income))
  271. print(tax("BC",income))
  272. print(tax("NT",income))
  273. print(tax("YT",income))
  274. print(tax("NU",income))
  275.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement