Мне нужна помощь для моей маленькой программы (python списки) - PullRequest
1 голос
/ 28 марта 2020

Я дам вам мой python код (он довольно простой c и маленький), и если вы можете, скажите мне, где я ошибаюсь. Я новичок в кодировании, поэтому ваша помощь будет полезна. Большое спасибо и не ненавидь:)

lista=[]
for i in range(100):
    a=input("give me  a number")
    if a%2==0:
        a=0
    else:
        a=1
    lista=lista+a
print lista

PS: я пишу код python 2, потому что мои школьные учебники написаны с учетом этого.

1 Ответ

2 голосов
/ 28 марта 2020

Вам необходимо использовать метод append , чтобы добавить элемент в конец списка.

lista.append(a)

И вам необходимо преобразовать str, возвращаемый входом () в int.

Функция input () считывает строку из ввода, преобразует ее в строку (убирая завершающий перевод строки) и возвращает ее. Когда EOF читается, EOFError повышается.

a = int(input("give me  a number"))

Попробуйте:

lista=[]
for i in range(2): # Changed from 100 to 2 for my own testing
    a = int(input("Give me  a number: "))
    a = 1 if a%2 else 0
    lista.append(a)
print(lista)

Выходы:

[0,1]

РЕДАКТИРОВАНИЕ:

Так что я не могу использовать Lista = lista + a? Я думал, что смогу ... моя книга говорит, что могу ... спасибо за ваше решение, оно работает!

Вы можете использовать оператор += (аналогично extend()), но для этого требуется операнд list. Не int. Итак, вам нужно преобразовать ваш int в список. Попробуйте это:

lista += [a]

list.append(a) быстрее, потому что он не создает объект временного списка. Итак, лучше использовать append.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...