@Mansurkolonki

Почему в массив записывается не число, а знаки?

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' - Вывод в консоле
  • Вопрос задан
  • 104 просмотра
Пригласить эксперта
Ответы на вопрос 1
Lord_of_Rings
@Lord_of_Rings
Python developer
nones=list((a, 0))
[['1', '1', '0', '1', '0', '0'], 0]

Так что ли, надо?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы