python - 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 的总额。谢谢你。
解决方案
您将 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))
推荐阅读
- yii2 - 将数据直接传递给 yii2-tree-manager
- javascript - 尽管 JavaScript 中的条件为真,但不显示值
- python - 烧瓶内部蓝图找不到模板
- python - 将交叉表另存为 PDF - Python
- bash - Bash 检测 WSL
- reactjs - 使用 Nextjs 的 getInitialProps 为 firebase DB 设置状态
- elasticsearch - ElasticSearch 应该查询
- java - 如何在hibernate中使用类org.hibernate.annotations.Table的@Table注解
- python - 创建和附加数据框
- groovy - 如何从 methodMissing、Groovy 元编程中获取被调用者闭包的名称