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

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

Сообщение Anonymous »

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

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

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»