首页 > 解决方案 > python 新手,无法弄清楚为什么扣除额不包括税款

问题描述

我是编程新手,我正在尝试为我所在的 Python 基础课程编写一个程序。现在是第 1 天,我无法弄清楚为什么总扣除额不能计算出正确的金额。这是我写的代码:

    print("=================DEDUCTIONS=================")

print("SSS: " + sss_contribution)
print("PhilHealth: " + philhealth_contribution)
print("Other Loan: " + housing_loan)

tax_rate = .10
tax_total = int(gross_salary)*int(tax_rate)
print("Tax: " + str(tax_total))

total_deductions = int(sss_contribution) + int(philhealth_contribution) + int(housing_loan) + int(tax_total)
print("Total Deductions: " + str(total_deductions))

net_salary = float(gross_salary) - float(total_deductions)

print("NET SALARY: " + str(net_salary))

我得到了正确的 NET SALARY 金额,但扣除总额仅反映 SSS、PhilHealth 和 Housing 的总额。谢谢你。

标签: pythonaddition

解决方案


您将 tax_rate 声明为浮点数,因此请尝试:

tax_total = int(gross_salary)*float(tax_rate)

如果您将 tax_rate 声明为 5.10,则执行 int(tax_rate) 会返回 5。而执行 float(tax_rate) 会返回 5.1。

在您的示例中,您将 tax_rate 声明为 0.10,因此您的 tax_total 变为 0,因为 int(tax_rate) 为 0。这就是为什么您的税不包含在您的计算中

    print("=================DEDUCTIONS=================")

sss_contribution = 500
philhealth_contribution = 600
housing_loan = 500.20
gross_salary = 2000

print("SSS: " +str(sss_contribution))
print("PhilHealth: " +str(philhealth_contribution))
print("Other Loan: " +str(housing_loan))

tax_rate = .10
tax_total = int(gross_salary)*float(tax_rate)
print("Tax: " + str(tax_total))

total_deductions = int(sss_contribution) + int(philhealth_contribution) + float(housing_loan) + int(tax_total)
print("Total Deductions: " + str(total_deductions))

net_salary = float(gross_salary) - float(total_deductions)

print("NET SALARY: " + str(net_salary))

推荐阅读