EDIT: never mind I figured out the problem~ it was an extra ":" inside the __main__... -.-!!
But new problem! If I run the program and input the answers, it returns an error:
Traceback (most recent call last):
File "<string>", line 1, in <string>
ValueError: incomplete format
Does anyone know what this means?
Original question
Hi everyone, I'm a total beginner to Python, currently studying it in university.
I'm almost done this assignment that asks me to create a program that accepts input from user on a few questions, then based on the answers calculate his or her total tax credit.
Here is the full code:
(Is it just me or is there no
tags on a programming forum...???)
======================
#Tax credit calculator functions
def dependant_amount(d_net_income):
'''Return the deductible amount to be entered on line 5816 of the Ontario
Tax form, based on float d_net_income, the dependant's net income.'''
line_3 = max(0, 8108.00 - d_net_income)
return min(7371.0, line_3)
def medical_amount(d_net_income, med_expenses):
'''Return the amount to be entered on line 5872: "Allowable medical
expenses", of the Ontario Tax Form, based on float d_net_income,
representing the taxpayer's dependant's net income, and float med_expenses,
representing his or her medical expenses.'''
line_2 = min(d_net_income * 0.03, 1965.0)
return medical_expenses - line_2
def age_amount(net_income):
'''Return the amount to be entered on line 5808: "Age amount", of the
Ontario Tax Form, based on float net_income, the taxpayer's net income. This
credit applies only to persons born in 1943 or earlier.'''
line_4 = max(0, net_income - 31554.0)
line_6 = line_4 * 0.15
age = max(0, 4239.0 - line_6)
return age
def infirm(d_net_income):
'''Return the amount to be entered on line 5820: "Amount for infirm
dependants age 18 or older", of the Ontario Tax Form, based on float
d_net_income, representing the taxpayer's dependant's net income.'''
if 9908.0 - d_net_income > 4091.0:
line_3 = 4091.0
else:
line_3 = max(0, 9908.0 - d_net_income)
return line_3
def political_amount(contribution):
'''Return the amount to be entered on line 24: "Ontario political
contribution tax credit", of the Ontario Tax Form, based on float
contributions, representing the taxpayer's political contributions.'''
if contribution <= 336.0:
line_7 = contribution * 0.75
elif 336.0 < contribution <= 1120.0:
line_7 = ((contribution - 336.0) * 0.5) + 252.0
elif 1120.0 < contribution <= 2548.0:
line_7 = ((contribution - 1120.0) * 0.3333) + 644.0
else:
line_7 = 1120.0
return line_7
#Tax credit calculator
if __name__ == "__main__:":
#User-defined values of parameters of the functions defined earlier
net_income = float(raw_input("Please enter your net income: "))
d_net_income = float(raw_input("Please enter your dependant's net"
" income: "))
med_expenses = float(raw_input("Please enter your dependant's medical"
" expenses: "))
infirmity = raw_input("Is your dependant infirm (please enter 'yes' or"
"'no'): ")
year_of_birth = float(raw_input("Please enter the year you were born (all"
" four digits): "))
contribution = float(raw_input("Please enter the amount of your political"
" contributions: "))
if infirmity == "yes":
line_3 = True
else:
line_3 = False
if year_of_birth <= 1943:
age = True
else:
age = False
total_tax_credit = medical_amount(d_net_income, med_expenses) + \
age_amount(net_income) + infirm(d_net_income) + \
political_amount(contribution)
print "Your Ontario Tax Credit is: $%" %total_tax_credit
*In Python Shell after I click RUN*
Type "help", "copyright", "credits" or "license" for more information.
Evaluating tax_credit.py
|
======================
Basically the user is asked 6 questions, and each answer will have an effect on the variables operated in the functions defined in the first segment of the program. When I execute the program the questions written won't appear in Python Shell though...
Thanks in advance for help!
Edited by: user12005824 on 2009-10-6 下午3:57
Edited by: user12005824 on 2009-10-6 下午3:59