写出compare方法
时间: 2023-08-04 10:15:11 浏览: 34
好的,compare方法可以用于比较两个Base36类型的实例的大小关系。如果实例a的值大于实例b的值,则返回1;如果实例a的值小于实例b的值,则返回-1;如果实例a的值等于实例b的值,则返回0。以下是一个示例代码:
```python
class Base36:
def __init__(self):
self.base = 36
self.chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
def to_base_36(self, decimal):
if decimal < 0:
sign = -1
decimal = -decimal
elif decimal == 0:
return '0'
else:
sign = 1
res = ''
while decimal > 0:
decimal, mod = divmod(decimal, self.base)
res = self.chars[mod] + res
if sign == -1:
res = '-' + res
return res
def from_base_36(self, s):
decimal = 0
sign = 1
if s[0] == '-':
sign = -1
s = s[1:]
for c in s:
decimal = decimal * self.base + self.chars.index(c)
return sign * decimal
def compare(self, a, b):
decimal_a = self.from_base_36(a)
decimal_b = self.from_base_36(b)
if decimal_a > decimal_b:
return 1
elif decimal_a < decimal_b:
return -1
else:
return 0
```
在这个例子中,我们添加了一个名为compare的方法,它接受两个Base36类型的实例a和b作为参数,并返回它们之间的大小关系。