Python >> Python tutorial >  >> Python

Sådan laver du binær tilføjelse i Python

Udfordringen

Implementer en funktion, der lægger to tal sammen og returnerer deres sum i binært. Konverteringen kan foretages før eller efter tilføjelsen.

Det binære tal, der returneres, skal være en streng.

Eksempler:

add_binary(1, 1) == "10" (1 + 1 = 2 in decimal or 10 in binary)
add_binary(5, 9) == "1110" (5 + 9 = 14 in decimal or 1110 in binary)

Løsningen i Python-kode

Der er flere måder at løse en int to binary string på problem i Python.

Mulighed 1:

def add_binary(a,b):
    return "{0:b}".format(a+b)

Mulighed 2:

def add_binary(a,b):
    return bin(a+b)[2:]

Mulighed 3:

def add_binary(a, b):
    return format(a + b, 'b')

Testcases for at validere vores løsning

import test
from solution import add_binary

@test.describe("Fixed Tests")
def fixed_tests():
    @test.it('Basic Test Cases')
    def basic_test_cases():
        test.assert_equals(add_binary(1,1),"10")
        test.assert_equals(add_binary(0,1),"1")
        test.assert_equals(add_binary(1,0),"1")
        test.assert_equals(add_binary(2,2),"100")
        test.assert_equals(add_binary(51,12),"111111")