python3.2类定义时并不是所有的错误都是init

(新人发帖,请原谅)

我在学习python时,参考了机械工业出版社《python学习手册》(Mark Lutz著)一书,在看到144页“用户定义的类”时,自己亲自将程序敲进了电脑。去发现了错误

object.__new__() takes no parameters

当我上网查找答案时,几乎千篇一律的是_init_打成了_int_,而我打对了却仍然出现了问题。


书本例程:

class Worker:
def _init_(self,name,pay):
self.name=name
self.pay=pay
def lastName(self):
return self.name.split()[-1]
def giveRaise(self,percent):
self.pay*=(1.0+percent)

 bob=Worker('Bob Smith',50000)


而错误为 object.__new__() takes no parameters。


当改成如此才可:

bob=Worker()

bob.name='Bob Smith'
 bob.pay=50000


另外,若排版不好,如下:

class Worker:
def _init_(self,name,pay):
self.name=name
self.pay=pay
def lastName(self):
return self.name.split()[-1]
def giveRaise(self,percent):
self.pay*=(1.0+percent)


当你引用bob.lastName()时,会出现以下错误:

'Worker' object has no attribute 'lastName'


注意排好版!!!!



就说这么多,原吾与诸君共勉。

Python 3.2版本的个人所得税计算器是一个用于计算个人根据中国税法规定应缴纳的个人所得税的工具。这个计算器通常会考虑以下几个关键因素: 1. **收入范围划分**:税率会根据年收入的不同区间有不同的税率档次。 2. **起征点**:在中国,有一个基本的免征额(如6万元),收入低于这个金额的不需要缴税。 3. **税率表**:中国个人所得税采用累进税率制度,不同部分的收入适用不同的税率。 4. **专项扣除**:可能包括子女教育、住房贷款利息、赡养老人等抵扣项。 要编写这样的计算器,你需要: - 设计用户输入界面,接收年收入和其他相关信息。 - 根据税率表和抵扣政策计算应纳税所得额。 - 应用累进税率计算应缴税款。 - 可能还需要一些逻辑处理异常值或特殊情况。 以下是创建这样一个计算器的大致步骤: 1. 定义税率表和免税额度。 2. 创建函数来计算应纳税所得额。 3. 实现累进税率计算公式。 4. 编写主程序,获取用户输入并调用上述函数。 如果你想了解具体的代码示例,我可以为你提供一个简化版的伪代码或基础结构,但请注意,Python 3.2已经过,最新的版本会有更多的功能和优化。以下是简化的代码结构示意: ```python class IncomeCalculator: def __init__(self, basic_deduction=60000): self.basic_deduction = basic_deduction def calculate_tax(self, annual_income, deductions): taxable_income = annual_income - self.basic_deduction - deductions # 分段累进税率计算 # 省略具体税率表,此处假设为几个固定比例 tax_rates = [0, 3%, 10%, 20%, ...] # 具体税率需要填入 total_tax = 0 for tax_rate in tax_rates: if taxable_income >= 0: total_tax += taxable_income * tax_rate taxable_income -= taxable_income * tax_rate return total_tax # 示例 calculator = IncomeCalculator() annual_income = float(input("请输入年收入:")) deductions = float(input("请输入专项扣除:")) tax = calculator.calculate_tax(annual_income, deductions) print(f"应缴纳的个人所得税为:{tax}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值