【发布时间】:2017-03-26 20:18:30
【问题描述】:
我基本上都完成了.. 我只是找不到将每个整数乘以 2^0、2^1 ... 等等的方法 这是我的代码
def BinaryToDecimal(binaryString):
if len(binaryString) == 0:
return 0
else:
return int(binaryString[-1:])*(2**(4-len(binaryString))) + BinaryToDecimal(binaryString[:len(binaryString)-1])
如果我输入了“1000”,我返回字符串的最后一位,并通过消除最后一位进行递归,因此,“1000”-->“100”-->“10”等等
这里的问题是我找不到将最后一位数字乘以其对应的 2 的幂的方法。当二进制字符串的长度为 4,3,2 时,如何获得 0,1,2,3 的任何想法, 1 ?
【问题讨论】:
-
顺便说一句,你可以
return int(binaryString, 2)
标签: python python-3.x recursion