|
|

楼主 |
发表于 2015-9-24 11:12:07
|
显示全部楼层
嗯嗯,你说的很对,我已经完全知道恍悟到问题在哪儿了!我把代码稍微改了下,然后实例后调用它,正确了,觉得最好self绑定类!
- class Zhuanhuan(object):
- def __init__(self,decimalist,Binary):
- self.decimalist = decimalist
- self.Binary = Binary
- def __std__(self,decimalist,Binary):
- return '%s:%d --> %s:%s '%('Decimalist',self.decimalist,'Binary',self.Binary)
- def shizhuaner(decimalist,string):
- Binary = string
- def huan(decimalist,string):
- nonlocal Binary
- if decimalist // 2 == 0:
- Binary += str(decimalist)
- else:
- Binary += str(decimalist%2)
- huan(decimalist//2,string)
- return Binary
- return huan(decimalist,string)
- def nima(decimalist):
- a=''
- if decimalist > 2**101:
- raise OverflowError('输入太大,超过默认递归的次数')
- new_Binary = shizhuaner(decimalist,a)[::-1]
- print(Zhuanhuan(decimalist,new_Binary).__std__(decimalist,new_Binary))
复制代码
之前- print(Zhuanhuan.__std__(decimalist,new_Binary))
复制代码 是直接去调用,导致<class NoneType>,因而不会作为一个参数传入,而现在- print(Zhuanhuan(decimalist,new_Binary).__std__(decimalist,new_Binary))
复制代码 就是把Zhuanhuan(decimalist,new_Binary)作为了一个实例了,会作为一个参数传入 |
|