Python任意进制到任意进制转换的实现代码需求
将⼀个数字 从任意进制 转换为 任意进制 的数值。
实现
python货币转换Python2
def baseconvert(number, fromdigits, todigits):
if str(number)[0] == '-':
number = str(number)[1:]
neg = 1
else:
neg = 0
# make an integer out of the number
x = long(0)
for digit in str(number):
x = x*len(fromdigits) + fromdigits.index(digit)
# create the result in base 'len(todigits)'
res = ""
while x > 0:
digit = x % len(todigits)
res = todigits[digit] + res
x /= len(todigits)
if neg:
res = "-"+res
return res
//将8从10进制转为⼆进制
print(baseconvert(8, "0123456789","01"))
//将100从10进制转为⼋进制
print(baseconvert(100, "0123456789","01234567"))
Python3
需要修改x = long(0)为x=0
原因:Python3.x中没有long类型,只有int类型。
同时修改x /= len(todigits)为x //= len(todigits)
原因:python3使⽤//作为整除符号
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论