print ("This program reads an unsigned binary number of arbitrary length
\nand tries to compute the decimal equivalent. The program reports an error
\nif the input number contains characters other than 0 and 1.")
dec = 0
bin = 0
factor = 1
print ("Enter Binary Number:")
bin = int(input())
while(bin > 0):
if((bin % 10) == True):
dec += factor
bin /= 10
factor = factor * 2
print ("I think your binary number in decimal form is: " , dec)
这是我在本网站上的第一篇文章。这是我的程序的代码,它应该将用户输入的二进制数转换为十进制数。出于某种原因,此代码在Python2中正常工作并输出正确的十进制值,但要么在Python3中输出1或2,这是不正确的。有谁知道这个代码是什么?我尝试过很多东西,但似乎没什么用。 (顺便说一下,我是初学者)。