用于接收二进制字符串输入然后转换为十进制PYTHON的函数?

用于接收二进制字符串输入然后转换为十进制PYTHON的函数?,python,python-3.x,Python,Python 3.x,因此,我试图编写一个简单的程序,接收输入,将其转换为二进制字符串,然后使用另一个函数,接收输入并将其转换为十进制。我还需要它来处理非整数。这就是我目前所拥有的,我能得到的任何帮助都将是巨大的 def taking_info(): x = (int(input("Enter in a string of binary digits"))) return bin(x) def conversion(x): print (int(x, 2)) taking_info() c

因此,我试图编写一个简单的程序,接收输入,将其转换为二进制字符串,然后使用另一个函数,接收输入并将其转换为十进制。我还需要它来处理非整数。这就是我目前所拥有的,我能得到的任何帮助都将是巨大的

def taking_info():
    x = (int(input("Enter in a string of binary digits")))
    return bin(x)

def conversion(x):
    print (int(x, 2))

taking_info()
conversion(taking_info)

你所说的非整数是什么意思?我猜他想把“4.75”这样的数字翻译成“100.11”,反之亦然。也许OP的意思是用交替的基数?如十六进制、十月等。?这就意味着将
0
作为第二个参数传递给
int
构造函数,这样它就可以推断出基数,例如
x=int(输入(“输入一个二进制数字字符串”),0)
?或者,如果目标是读取不带前缀的
0
s和
1
s序列,则应传递
2
而不是
0
作为第二个参数。问题是代码不起作用,我尝试了您的建议,不断收到错误消息,int()无法转换具有显式基的非字符串。是的,我希望它也适用于带小数的数字,谢谢@Meenajouma它不起作用,因为您可能输入了
int(11,2)
而不是
int('11',2)
。按原样使用上述建议,它就会起作用。同样,将小数如
3.75
转换成二进制也不容易;用二进制精确表示浮点十进制数有一些限制。你必须决定你想要多少精度。