n = int(input())
 
b = ''
 
while n > 0:  # переход в двоичную систему счисления
    b = str(n % 2) + b
    n = n // 2
 
print(b)  # проверка на четность N
if n % 2 == 0:
    print('Четное число')
    a=(list("1" + str(b))) # плюс 1 если четное
    print(a)
else:
    print('Нечентное число')
    a=(list(str(b) + "0")) # плюс 0 еслр не четное
    print(a)
nones = a.count("1")
print(nones)
if nones % 2 == 0:
    print('Четное число')
    nones=(list("1" + str(a))) # плюс 1 если четное
    print(nones)
else:
    print('Нечентное число')
    nones=(list(str(a) + "0")) # плюс 0 еслр не четное
    print(nones)
К конце кода в массив передаются не числа, а знаки. Как исправить, и можно ли не использоваться int?
['[', "'", '1', "'", ',', ' ', "'", '1', "'", ',', ' ', "'", '1', "'", ',', ' ', "'", '0', "'", ',', ' ', "'", '0', "'", ']', '0' - Вывод в консоле