print ("Input Binary Number")
num1 = bin(input())
print( "Now another one")
num2 = bin(input())
answer = ( num1 + num1)
print ("adding them together will give you" , answer)
input ("press enter to finish")
我无法输入二进制数
print ("Input Binary Number")
num1 = bin(input())
print( "Now another one")
num2 = bin(input())
answer = ( num1 + num1)
print ("adding them together will give you" , answer)
input ("press enter to finish")
我无法输入二进制数
您可能需要先将输入转换为 int,然后再转换为 bin
num1 = bin(int(input()))
你也可能是说:
answer = (num1 + num2)
让我们从最基本的输入开始,直到最终结果。
首先,input()
返回一个字符串,因此1011101
将是"1011101"
.
现在我们要将字符串存储为 int,所以我们使用int(input())
.
不幸的是,这会读取以 10 为底的字符串,而我们想要以 2 为底读取,所以我们使用int(input(), 2)
.
我们不使用 bin() 函数 let,因为该函数将 int 转换回字符串,并且“+”操作进行连接,而不是加法。
现在该值已正确存储为 int,因此我们可以正常进行加法:answer = num1 + num2
存储总和后,我们希望将结果保存为二进制字符串。为此,我们编写answerString = bin(answer)
或者answerString = bin(answer)[2:]
如果我们想删除 bin 附加的前导“0b”。
现在我们可以打印 answerString 来显示结果。
我写的一个演示:
num1 = int(input(), 2)
num2 = int(input(), 2)
answer = num1 + num2
answerString = bin(answer)[2:]
print(answerString)
输入:
1001001
1010100
输出:
10011101
bin
将整数转换为字符串,给出数字的二进制表示。您需要做的是将您的输入作为字符串并使用int
. int
接受作为基础的第二个参数 - 在本例中为 2。
类似的东西num1 = int(input(), 2)
应该可以解决问题。