179k views
3 votes
This program is half of your final exam!! make sure it is syntax free before submission. Take time to test the program to ensure your logic is correct. Write a program that can be used to calculate the federal tax. The tax is calculated as follows: For single people, the standard exemption is $4,000; for married people, the standard exemption is $7,000. A person can also put up to 6% of his or her gross income in a pension plan. The tax rates are as follows: If the taxable income is: Between $0 and $15,000, the tax rate is 15%. Between $15,001 and $40,000, the tax is $2,250 plus 25% of the taxable income over $15,000. Over $40,000, the tax is $8,460 plus 35% of the taxable income over $40,000. Prompt the user to enter the following information: Marital status If the marital status is “married,” ask for the number of children under the age of 14 Gross salary (If the marital status is “married” and both spouses have income, enter the combined salary.) Percentage of gross income contributed to a pension fund Your program must consist of at least the following functions: Function getData: This function asks the user to enter the relevant data. Function taxAmount: This function computes and returns the tax owed. To calculate the taxable income, subtract the sum of the standard exemption, the amount contributed to a pension plan, and the personal exemption, which is $1,500 per person. (Note that if a married couple has two children under the age of 14, then the personal exemption is $1,500 * 4 = $6,000)

User Lwe
by
7.6k points

1 Answer

2 votes

Here's a Python program that implements the requirements:

def getData():

marital_status = input("Enter marital status (single/married): ")

gross_salary = float(input("Enter gross salary: "))

pension_contribution_rate = float(input("Enter percentage of gross income contributed to a pension fund: "))

if marital_status.lower() == "married":

children_under_14 = int(input("Enter number of children under age 14: "))

personal_exemption = 1500 * (2 + children_under_14)

else:

personal_exemption = 1500

return marital_status, gross_salary, pension_contribution_rate, personal_exemption

def taxAmount(marital_status, gross_salary, pension_contribution_rate, personal_exemption):

if marital_status.lower() == "married":

standard_exemption = 7000

else:

standard_exemption = 4000

taxable_income = gross_salary * (1 - pension_contribution_rate/100) - standard_exemption - personal_exemption

if taxable_income <= 15000:

tax = taxable_income * 0.15

elif taxable_income <= 40000:

tax = 2250 + (taxable_income - 15000) * 0.25

else:

tax = 8460 + (taxable_income - 40000) * 0.35

return tax

# Main program

marital_status, gross_salary, pension_contribution_rate, personal_exemption = getData()

tax = taxAmount(marital_status, gross_salary, pension_contribution_rate, personal_exemption)

print("Tax owed: $%.2f" % tax)

The getData() function prompts the user for the relevant information and returns it as a tuple. The taxAmount() function takes in the data provided by getData() and calculates the tax owed based on the provided formula. The main program calls getData() and taxAmount() and prints the result.

Note that the program assumes that the input values are valid and does not perform any error checking. It also assumes that the user enters the percentage of gross income contributed to the pension fund as a decimal number (e.g., 6% is entered as 0.06).

User Roy Wang
by
8.2k points