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")
我无法输入二进制数
答案 0 :(得分:1)
您可能需要先将输入转换为int然后转换为bin
num1 = bin(int(input()))
你也可能意味着:
answer = (num1 + num2)
答案 1 :(得分:1)
让我们在最基本的输入,并努力达到最终结果。
首先,input()
会返回一个字符串,因此1011101
将为"1011101"
。
现在我们要将字符串存储为int,因此我们使用int(input())
。
不幸的是,这会读取基数为10的字符串,我们希望在基数2中读取,因此我们使用int(input(), 2)
。
我们不使用bin()函数let,因为此函数将int转换回字符串,而“+”操作执行连接,而不是添加。
现在值正确存储为int,因此我们可以正常添加:answer = num1 + num2
一旦我们存储了总和,我们希望将结果保存为二进制字符串。为此,如果我们要删除bin附加的前导“0b”,我们会写answerString = bin(answer)
或answerString = bin(answer)[2:]
。
现在我们可以打印answerString来显示结果。
我写的一个演示:
num1 = int(input(), 2)
num2 = int(input(), 2)
answer = num1 + num2
answerString = bin(answer)[2:]
print(answerString)
输入:
1001001
1010100
输出:
10011101
答案 2 :(得分:0)
bin
将整数转换为字符串,给出数字的二进制表示。您需要做的是将输入作为字符串并使用int
进行转换。 int
采用第二个参数作为基础 - 在本例中为2。
num1 = int(input(), 2)
之类的东西可以解决问题。