请编程实现 str___(self)函数 该函数在NaturalNumber 对象被 print 时被调 用。几个输出示例如下所示, 请根据输出示例完成函数1. zero = NaturalNumber(None) 2.print(zero) 3. one=NaturalNumber(zero) 4. print(one) 5. two NaturalNumber(one) 6. print(two)
时间: 2024-02-22 08:56:40 浏览: 55
实现strstr()函数1
根据您的要求,我编写了如下代码实现 str___(self) 函数:
```python
class NaturalNumber:
def __init__(self, predecessor):
if predecessor is None:
self.value = 0
else:
self.value = predecessor.value + 1
def __str__(self):
return str(self.value)
def __repr__(self):
return str(self)
def predecessor(self):
if self.value == 0:
return None
else:
return NaturalNumber(self.value - 1)
```
在该代码中,`__str__(self)` 函数返回当前对象的值,因此在对象被 print 时会输出该值。我们还定义了 `predecessor()` 函数,用于返回当前对象的前驱对象。使用示例代码如下:
```python
zero = NaturalNumber(None)
print(zero)
one = NaturalNumber(zero)
print(one)
two = NaturalNumber(one)
print(two)
```
输出结果如下:
```
0
1
2
```
阅读全文