import sys
print("""
6.15-1version
""")
def compute_tax(status, taxable_income):
tax = 0
if status == 0:
if taxable_income <= 8350:
tax = taxable_income * 0.10
elif taxable_income <= 33950:
tax = 8350 * 0.10 + (taxable_income - 8350) * 0.15
elif taxable_income <= 82250:
tax = 8350 * 0.10 + (33950 - 8350) * 0.15 + \
(taxable_income - 33950) * 0.25
elif taxable_income <= 171550:
tax = 8350 * 0.10 + (33950 - 8350) * 0.15 + \
(82250 - 33950) * 0.25 + (taxable_income - 82250) * 0.28
elif taxable_income <= 372950:
tax = 8350 * 0.10 + (33950 - 8350) * 0.15 + \
(82250 - 33950) * 0.25 + (171550 - 82250) * 0.28 + \
(taxable_income - 171550) * 0.33
else:
tax = 8350 * 0.10 + (33950 - 8350) * 0.15 + \
(82250 - 33950) * 0.25 + (171550 - 82250) * 0.28 + \
(372950 - 171550) * 0.33 + (taxable_income - 372950) * 0.35
elif status == 1:
if taxable_income <= 16700:
tax = taxable_income * 0.10
elif taxable_income <= 67900:
tax = 16700 * 0.10 + (taxable_income - 16700) * 0.15
elif taxable_income <= 137050:
tax = 16700 * 0.10 + (67900 - 16700) * 0.15 + \
(taxable_income - 67900) * 0.25
elif taxable_income <= 208850:
tax = 16700 * 0.10 + (67900 - 16700) * 0.15 + \
(137050 - 67900) * 0.25 + (taxable_income - 137050) * 0.28
elif taxable_income <= 372950:
tax = 16700 * 0.10 + (67900 - 16700) * 0.15 + \
(137050 - 67900) * 0.25 + (208850 - 137050) * 0.28 + \
(taxable_income - 208850) * 0.33
else:
tax = 16700 * 0.10 + (67900 - 16700) * 0.15 + \
(137050 - 67900) * 0.25 + (208850 - 137050) * 0.28 + \
(372950 - 208850) * 0.33 + (taxable_income - 372950) * 0.35
elif status == 2:
if taxable_income <= 8350:
tax = taxable_income * 0.10
elif taxable_income <= 33950:
tax = 8350 * 0.10 + (taxable_income - 8350) * 0.15
elif taxable_income <= 68525:
tax = 8350 * 0.10 + (33950 - 8350) * 0.15 + \
(taxable_income - 33950) * 0.25
elif taxable_income <= 104425:
tax = 8350 * 0.10 + (33950 - 8350) * 0.15 + \
(68525 - 33950) * 0.25 + (taxable_income - 68525) * 0.28
elif taxable_income <= 186475:
tax = 8350 * 0.10 + (33950 - 8350) * 0.15 + \
(68525 - 33950) * 0.25 + (104425 - 68525) * 0.28 + \
(taxable_income - 104425) * 0.33
else:
tax = 8350 * 0.10 + (33950 - 8350) * 0.15 + \
(68525 - 33950) * 0.25 + (104425 - 68525) * 0.28 + \
(186475 - 104425) * 0.33 + (taxable_income - 186475) * 0.35
elif status == 3:
if taxable_income <= 11950:
tax = taxable_income * 0.10
elif taxable_income <= 45500:
tax = 11950 * 0.10 + (taxable_income - 11950) * 0.15
elif taxable_income <= 117450:
tax = 11950 * 0.10 + (45500 - 11950) * 0.15 + \
(taxable_income - 45500) * 0.25
elif taxable_income <= 190200:
tax = 11950 * 0.10 + (45500 - 11950) * 0.15 + \
(117450 - 45500) * 0.25 + (taxable_income - 117450) * 0.28
elif taxable_income <= 372950:
tax = 11950 * 0.10 + (45500 - 11950) * 0.15 + \
(117450 - 45500) * 0.25 + (190200 - 117450) * 0.28 + \
(taxable_income - 190200) * 0.33
else:
tax = 11950 * 0.10 + (45500 - 11950) * 0.15 + \
(117450 - 45500) * 0.25 + (190200 - 117450) * 0.28 + \
(372950 - 190200) * 0.33 + (taxable_income - 372950) * 0.35
else:
print("Error: invalid status")
sys.exit()
return tax
def main(a):
for i in range(a, a + 10001, 50):
print(f" \t{i} | \t {compute_tax(0, i)} | \t {compute_tax(1, i)} | \t {compute_tax(2, i)} | \t {compute_tax(3, i)}")
print(" Taxable Income | Single| Married Joint | Married Separate | Head of a House ")
main(50000)
《python语言程序设计》第6章函数 第15题利用函数计算税款的程序。
于 2022-10-12 14:11:22 首次发布