Я пытаюсь произвести вводимые значения, такие как 5, и получить двоичную версию этого значения, а также сообщить, сколько их единиц и нулей. Кто-нибудь знает, как я должен идти по этому поводу? А также как я могу отсортировать вывод
Десятичные двоичные нули
5 101 2 1
def begin():
str=0
num = []
while num != -1:
num = int(input('Please enter some positive integers. Enter -1 to quit.\n'))
if num > 512:
str += 1
num-=512
else:
str += 0
if num > 256:
str += 1
num-=256
else:
str +=0
if num > 128:
str += 1
num-=128
else:
str +=0
if num > 64:
str += 1
num-=64
else:
str +=0
if num > 32:
str += 1
num-=32
else:
str +=0
if num > 16:
str += 1
num-=16
else:
str +=0
if num > 8:
str += 1
num-=8
else:
str +=0
if num > 4:
str += 1
num-=4
else:
str +=0
if num > 2:
str += 1
num-=2
else:
str+=0
if num > 1:
str += 1
num-=1
else:
str +=0
print('Decimal Binary\t\tOnes\tZeros')
print('--------------------------------------')
num.sort()
print(num)
begin()