Проблема новичка с добавлением двух двоичных строк для получения результата двоичной строки в литкодеPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Проблема новичка с добавлением двух двоичных строк для получения результата двоичной строки в литкоде

Сообщение Anonymous »

Я застрял в этой проблеме в leetcode, где вы получаете 2 строки с двоичными значениями, и вам нужно вернуть их сумму в виде двоичной строки. Однако некоторые тестовые примеры, такие как a='11' b='1', не возвращают правильный ответ.

Код: Выделить всё

class Solution(object):
def addBinary(self, a, b):
adecimal=0
bdecimal=0
powera=0
powerb=0
for x in a[::-1]:
if x=='1':
adecimal+=2**powera
powera+=1
for i in b[::-1]:
if i=='1':
bdecimal+=2**powerb
powerb+=1
resultdecimal=adecimal+bdecimal
powerdecimal=0
resultstring=''
while resultdecimal>=2**powerdecimal:
powerdecimal+=1
while resultdecimal!=0:
if resultdecimal>=2**powerdecimal:
resultdecimal-=2**powerdecimal
powerdecimal-=1
resultstring+='1'
else:
powerdecimal-=1
resultstring+='0'
resultstring=resultstring[::-1]

return resultstring
Для примера a='11' b='1' он возвращает "10", хотя должен возвращать "100". ChatGPT сказал, что это как-то связано с тем, как я вычисляю десятичную степень, но все его решения не сработали.

Подробнее здесь: https://stackoverflow.com/questions/791 ... -result-on
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»