Python3.9销售税计算代码报错 类定义未识别与main未定义问题求解
问题核心原因汇总
- 全局找不到
main函数:你把main定义在Tax类内部,属于类的成员,直接在全局执行main()自然会提示未定义 - 方法无返回值:所有计算类方法(
county_tax/state_tax/county_sales_number等)只做了赋值/计算操作,没有用return返回结果,调用后拿到的都是空值None - 变量作用域错误:
sales_Amount是main方法内的局部变量,其余方法直接访问会触发未定义报错,需要作为参数传递或者存为类/实例属性 - 计算逻辑错误:税额计算应该是销售额*税率,你写反成了销售额/税率,完全不符合需求
- 类型拼接错误:打印时直接把数值类型的税额和字符串拼接,会触发类型不匹配报错
- 类方法规范错误:类的实例方法默认第一个参数必须是
self指代实例本身,你所有方法都缺失该参数,运行时会报错
修正后可运行代码(保留原类结构)
class Tax: # 县税率 def county_tax(self): return 0.015 # 州税率 def state_tax(self): return 0.0625 # 计算县税额 def county_sales_number(self, sales_amount): return sales_amount * self.county_tax() # 计算州税额 def state_sales_number(self, sales_amount): return sales_amount * self.state_tax() # 计算总税额 def sales_combined(self, sales_amount): return self.county_sales_number(sales_amount) + self.state_sales_number(sales_amount) # 主逻辑 def main(self): sales_amount = int(input("What was the sale amount for the month? ")) total_tax = self.sales_combined(sales_amount) print(f"The total sales tax collected is {total_tax}") # 实例化类后调用main方法 if __name__ == "__main__": tax_calculator = Tax() tax_calculator.main()
输入100000时输出结果为7750,完全符合需求。
内容的提问来源于stack exchange,提问作者End Credits
相关产品推荐
相关产品推荐

