我toBase10(101)
想吐出来5
。我还需要它来处理除 101 之外的数字,我知道 python 中内置了一个二进制转换器,但我无法弄清楚。
现在我有
def toBase10(x):
int( 'x' , 2 ) == x
return x
我得到错误无法转换具有显式基数的非字符串。为什么我不能在这里使用 x ?
我toBase10(101)
想吐出来5
。我还需要它来处理除 101 之外的数字,我知道 python 中内置了一个二进制转换器,但我无法弄清楚。
现在我有
def toBase10(x):
int( 'x' , 2 ) == x
return x
我得到错误无法转换具有显式基数的非字符串。为什么我不能在这里使用 x ?
def toBase10(x):
return int(x, 2)
我将整数转换为字符串,然后转换为二进制,我可以轻松地将其转换为整数:
def binaryconvert(x):
x = str(x)
binarynumber = int(x, base=2)
convertnumber = int(binarynumber)
return convertnumber
print(binaryconvert(101))
#the answer would be 5
如果您的输入已经是二进制的,还有另一种方法:
def binaryconvert(x):
convertnumber = int(x)
return convertnumber
x = int(input("Input: "),2)
print(binaryconvert(x))
尝试
def toBase10(item):
return int(str(item),2)
那么你可以传递字符串或整数
print toBase10(101)
print toBase10('101')
我认为 int cast 错误是因为您传入的是数字而不是字符串,尽管这看起来很奇怪 --> "int( x , 2 ) == x"