用于接收二进制字符串输入然后转换为十进制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
转换成二进制也不容易;用二进制精确表示浮点十进制数有一些限制。你必须决定你想要多少精度。