Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- #taxCalc.py
- # Released under a GPLv3 Licence by Clockwork PC 2011
- #
- # www.clockworkpc.com.au
- #
- # You are entitled to the following four freedoms:
- # Freedom 0: To run this program for any purpose
- # Freedom 1: To study how this program works and change it to make it do what you wish
- # Freedom 2: To redistribute copies so you can help your neighbour
- # Freedom 3: To distribute copies of your modified version to others
- def weeklyIncome():
- print ""
- print "The following calculations will be based on your weekly gross income."
- print ""
- weeklyGrossPay = int(input("How much do you gross per week? "))
- annualGrossPay = weeklyGrossPay * 52
- if 0 < annualGrossPay <= 6000:
- annualIncomeTax = 0
- elif 6000 < annualGrossPay <= 37000:
- annualIncomeTax = (annualGrossPay - 6000)*0.15
- elif 37000 < annualGrossPay <= 80000:
- annualIncomeTax = 4650 + (0.3 * (annualGrossPay - 37000))
- elif 80000 < annualGrossPay <= 180000:
- annualIncomeTax = 17550 + (0.37 * (annualGrossPay - 80000))
- elif annualGrossPay > 180000:
- annualIncomeTax = 54550 + (0.45 * (annualGrossPay - 180000))
- else:
- print "Something has gone wrong"
- weeklyIncomeTax = (annualIncomeTax / 52)
- weeklyNetPay = weeklyGrossPay - weeklyIncomeTax
- fortnightlyGrossPay = (weeklyGrossPay * 2)
- fortnightlyIncomeTax = (weeklyIncomeTax * 2)
- fortnightlyNetPay = fortnightlyGrossPay - fortnightlyIncomeTax
- monthlyGrossPay = (annualGrossPay) / 12
- monthlyIncomeTax = annualIncomeTax / 12
- monthlyNetPay = monthlyGrossPay - monthlyIncomeTax
- annualNetPay = annualGrossPay - annualIncomeTax
- print ""
- print "Your weekly pay is $", weeklyGrossPay
- print "Your fortnightly pay is $" , fortnightlyGrossPay
- print "Your monthly pay is $" , monthlyGrossPay
- print "Your annual pay is $" , annualGrossPay
- print ""
- print "Your weekly income tax is $", weeklyIncomeTax
- print "Your fortnightly income tax is $" , fortnightlyIncomeTax
- print "Your monthly income tax is $" , monthlyIncomeTax
- print "Your annual income tax is $" , annualIncomeTax
- print ""
- print "Therefore, you net:"
- print "$",weeklyNetPay,"per week."
- print "$",fortnightlyNetPay,"per fortnight."
- print "$",monthlyNetPay,"per month."
- print "$",annualNetPay,"per annum."
- def fortnightlyIncome():
- print ""
- print "The following calculations will be based on your fortnightly gross income."
- print ""
- fortnightlyGrossPay = int(input("How much do you gross per fortnight? "))
- weeklyGrossPay = fortnightlyGrossPay / 2
- annualGrossPay = weeklyGrossPay * 52
- if 0 < annualGrossPay <= 6000:
- annualIncomeTax = 0
- elif 6000 < annualGrossPay <= 37000:
- annualIncomeTax = (annualGrossPay - 6000)*0.15
- elif 37000 < annualGrossPay <= 80000:
- annualIncomeTax = 4650 + (0.3 * (annualGrossPay - 37000))
- elif 80000 < annualGrossPay <= 180000:
- annualIncomeTax = 17550 + (0.37 * (annualGrossPay - 80000))
- elif annualGrossPay > 180000:
- annualIncomeTax = 54550 + (0.45 * (annualGrossPay - 180000))
- else:
- print "Something has gone wrong"
- weeklyIncomeTax = (annualIncomeTax / 52)
- weeklyNetPay = weeklyGrossPay - weeklyIncomeTax
- #fortnightlyGrossPay = (weeklyGrossPay * 2)
- fortnightlyIncomeTax = (weeklyIncomeTax * 2)
- fortnightlyNetPay = fortnightlyGrossPay - fortnightlyIncomeTax
- monthlyGrossPay = (annualGrossPay) / 12
- monthlyIncomeTax = annualIncomeTax / 12
- monthlyNetPay = monthlyGrossPay - monthlyIncomeTax
- annualNetPay = annualGrossPay - annualIncomeTax
- print ""
- print "Your weekly pay is $", weeklyGrossPay
- print "Your fortnightly pay is $" , fortnightlyGrossPay
- print "Your monthly pay is $" , monthlyGrossPay
- print "Your annual pay is $" , annualGrossPay
- print ""
- print "Your weekly income tax is $", weeklyIncomeTax
- print "Your fortnightly income tax is $" , fortnightlyIncomeTax
- print "Your monthly income tax is $" , monthlyIncomeTax
- print "Your annual income tax is $" , annualIncomeTax
- print ""
- print "Therefore, you net:"
- print "$",weeklyNetPay,"per week."
- print "$",fortnightlyNetPay,"per fortnight."
- print "$",monthlyNetPay,"per month."
- print "$",annualNetPay,"per annum."
- def monthlyIncome():
- print ""
- print "The following calculations will be based on your monthly gross income."
- print ""
- monthlyGrossPay = int(input("How much do you gross per month? "))
- weeklyGrossPay = (monthlyGrossPay * 12) / 52
- annualGrossPay = weeklyGrossPay * 52
- if 0 < annualGrossPay <= 6000:
- annualIncomeTax = 0
- elif 6000 < annualGrossPay <= 37000:
- annualIncomeTax = (annualGrossPay - 6000)*0.15
- elif 37000 < annualGrossPay <= 80000:
- annualIncomeTax = 4650 + (0.3 * (annualGrossPay - 37000))
- elif 80000 < annualGrossPay <= 180000:
- annualIncomeTax = 17550 + (0.37 * (annualGrossPay - 80000))
- elif annualGrossPay > 180000:
- annualIncomeTax = 54550 + (0.45 * (annualGrossPay - 180000))
- else:
- print "Something has gone wrong"
- weeklyIncomeTax = (annualIncomeTax / 52)
- weeklyNetPay = weeklyGrossPay - weeklyIncomeTax
- fortnightlyGrossPay = (weeklyGrossPay * 2)
- fortnightlyIncomeTax = (weeklyIncomeTax * 2)
- fortnightlyNetPay = fortnightlyGrossPay - fortnightlyIncomeTax
- #monthlyGrossPay = (annualGrossPay) / 12
- monthlyIncomeTax = annualIncomeTax / 12
- monthlyNetPay = monthlyGrossPay - monthlyIncomeTax
- annualNetPay = annualGrossPay - annualIncomeTax
- print ""
- print "Your weekly pay is $", weeklyGrossPay
- print "Your fortnightly pay is $" , fortnightlyGrossPay
- print "Your monthly pay is $" , monthlyGrossPay
- print "Your annual pay is $" , annualGrossPay
- print ""
- print "Your weekly income tax is $", weeklyIncomeTax
- print "Your fortnightly income tax is $" , fortnightlyIncomeTax
- print "Your monthly income tax is $" , monthlyIncomeTax
- print "Your annual income tax is $" , annualIncomeTax
- print ""
- print "Therefore, you net:"
- print "$",weeklyNetPay,"per week."
- print "$",fortnightlyNetPay,"per fortnight."
- print "$",monthlyNetPay,"per month."
- print "$",annualNetPay,"per annum."
- def annualIncome():
- print ""
- print "The following calculations will be based on your annual gross income."
- print ""
- annualGrossPay = int(input("How much do you gross per annum? "))
- if 0 < annualGrossPay <= 6000:
- annualIncomeTax = 0
- elif 6000 < annualGrossPay <= 37000:
- annualIncomeTax = (annualGrossPay - 6000)*0.15
- elif 37000 < annualGrossPay <= 80000:
- annualIncomeTax = 4650 + (0.3 * (annualGrossPay - 37000))
- elif 80000 < annualGrossPay <= 180000:
- annualIncomeTax = 17550 + (0.37 * (annualGrossPay - 80000))
- elif annualGrossPay > 180000:
- annualIncomeTax = 54550 + (0.45 * (annualGrossPay - 180000))
- else:
- print "Something has gone wrong"
- weeklyIncomeTax = annualIncomeTax / 52
- weeklyGrossPay = annualGrossPay / 52
- weeklyNetPay = weeklyGrossPay - weeklyIncomeTax
- fortnightlyGrossPay = (weeklyGrossPay * 2)
- fortnightlyIncomeTax = (weeklyIncomeTax * 2)
- fortnightlyNetPay = fortnightlyGrossPay - fortnightlyIncomeTax
- monthlyGrossPay = (annualGrossPay) / 12
- monthlyIncomeTax = annualIncomeTax / 12
- monthlyNetPay = monthlyGrossPay - monthlyIncomeTax
- annualNetPay = annualGrossPay - annualIncomeTax
- print ""
- print "Your weekly pay is $", weeklyGrossPay
- print "Your fortnightly pay is $" , fortnightlyGrossPay
- print "Your monthly pay is $" , monthlyGrossPay
- print "Your annual pay is $" , annualGrossPay
- print ""
- print "Your weekly income tax is $", weeklyIncomeTax
- print "Your fortnightly income tax is $" , fortnightlyIncomeTax
- print "Your monthly income tax is $" , monthlyIncomeTax
- print "Your annual income tax is $" , annualIncomeTax
- print ""
- print "Therefore, you net:"
- print "$",weeklyNetPay,"per week."
- print "$",fortnightlyNetPay,"per fortnight."
- print "$",monthlyNetPay,"per month."
- print "$",annualNetPay,"per annum."
- def initialQuestion():
- running = True
- while running:
- initialQuestion = int(input("""Do you want calculations based on your weekly, monthly, or annual pay?
- 1. Weekly
- 2. Fortnightly
- 3. Monthly
- 4. Annual
- """))
- if initialQuestion == 1:
- weeklyIncome()
- running = False
- elif initialQuestion == 2:
- fortnightlyIncome()
- running = False
- elif initialQuestion == 3:
- monthlyIncome()
- running = False
- elif initialQuestion == 4:
- annualIncome()
- running = False
- else:
- print """
- Please enter the correct number
- """
- def goodBye():
- print """
- Thanks for trying my program!
- For more information:
- Please visit my website and blog at clockworkpc.com.au
- OR
- Check out my YouTube channel http://www.youtube.com/user/clockworkpc
- """
- def finalQuestion():
- running = True
- while running:
- finalQ = int(input("""
- Would you like to run another magnificent calculation?
- 1. Yes
- 2. No
- """))
- if finalQ == 1:
- initialQuestion()
- elif finalQ == 2:
- goodBye()
- running = False
- else:
- print "Please make a selection"
- initialQuestion()
- finalQuestion()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement