Как создать функцию для преобразования числа в двоичную форму, используя рекурсию, предполагая, что это положительное число - PullRequest
0 голосов
/ 11 декабря 2018

Мой код работает правильно, но есть дополнительный 0, как мне избавиться от него?

enter image description here

1 Ответ

0 голосов
/ 11 декабря 2018

Вы можете использовать флаг в качестве необязательного параметра, чтобы указать, находится ли вызов на верхнем уровне, и если и только если так, он вернет '0';в противном случае возвращается пустая строка:

def binary(n, top_level=True):
    if n > 0:
        return binary(n // 2, False) + str(n % 2)
    elif top_level:
        return '0'
    else:
        return ''

, поэтому:

binary(11)

возвращает: '1011'

...