Удаление метода класса, который не имеет отношения к вопросу, если я сделаю это:
>>> numbin1 = 0b1000
>>> numbin2 = 0b1010
>>> xornumber = numbin1 ^ numbin2
Я получу
>>> xornumber
2
>>> bin(xornumber)
'0b10'
, который является правильным ответом.Происходит то, что вы используете константы 1000
и 1010
, которые являются десятичными константами, и ожидаете, что Python интерпретирует их как двоичные только потому, что вы используете оператор ^
.Например:
>>> bin(1000)
'0b1111101000'
>>> bin(1010)
'0b1111110010'
>>> bin(1000 ^ 1010)
'0b11010'
и 0b11010
равно 26
.
Чтобы интерпретировать входную строку пользователя, состоящую из 1 и 0, как целое число, представленное в двоичном виде,проконсультируйтесь этот ответ .