Проблемы с Python: добавьте два двоичных числа
Задачи Python - 1: Упражнение 31 с решением
Напишите программу на Python для добавления двух двоичных чисел.
Объяснение:
Пример решения : -
Код Python:
def add_binary_nums(x,y):
max_len = max(len(x), len(y))
x = x.zfill(max_len)
y = y.zfill(max_len)
result = ''
carry = 0
for i in range(max_len-1, -1, -1):
r = carry
r += 1 if x[i] =='1' else 0
r += 1 if y[i] =='1' else 0
result = ('1' if r % 2 == 1 else '0') + result
carry = 0 if r < 2 else 1
if carry !=0 : result ='1' + result
return result.zfill(max_len)
print(add_binary_nums('11', '1'))
print(add_binary_nums('10', '10'))
print(add_binary_nums('111', '111'))
print(add_binary_nums('1111111', '1'))
Пример вывода:
100 100 1110 10000000
Блок - схема:
Визуализируйте выполнение кода Python:
Следующий инструмент визуализирует, что компьютер делает шаг за шагом при выполнении указанной программы:
Редактор кода Python:
Внесите свой код и комментарии через Disqus.
Предыдущий: Напишите программу на Python, чтобы найти длину последнего слова.
Далее: Напишите программу на Python, чтобы найти единственное число, в котором встречаются нечетные числа, а в других числах встречаются четные числа.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code