2017-01-13 10 views
0

У меня возникли проблемы с добавлением элементов в список из ввода пользователя, я думаю, вы можете видеть, что я пытаюсь сделать здесь, я хочу, чтобы пользователь мог добавьте элементы в список и затем отобразите их. Критерии: он должен содержать цикл FOR и некоторую форму проверки данных.Добавление списка в python + Проверка введенных данных

def main(): 
    num=int(input("How many values would you like in your list?")) 
    for x in range(num) 
     myList=[] 
     newValue=input("Enter the text you would like to add") 
     myList.append(newValue) 
    print(myList) 
+5

Итак, что ваш вопрос? Одна очевидная проблема заключается в том, что myList нужно определить перед циклом, а не внутри, но что вы спрашиваете? –

ответ

0

попробуйте это!

def main(): 
    num=int(raw_input("How many values would you like in your list? ")) 
    myList=[] 
    for x in range(num): 
     newValue = raw_input("Enter the text you would like to add ") 
     myList.append(newValue) 
    print(myList) 
0

Одна из проблем в вашем коде заключается в том, что для потребностей: в конце.

Но главное, что вы пересылаете свой myList в пустой список в начале каждой итерации ... в результате все, что вы вводите, будет добавлено в пустой список (так что результат однозначный список).

1

Проблема

Вы инициализации списка каждый раз, как myList = [] внутри цикла. Независимо от того, какие данные вы добавили, теряется.

Также : отсутствует после range(num).

Решение

Просто инициализировать его вне цикла.

def main(): 
    num=int(input("How many values would you like in your list?")) 
    myList=[] # This needs to be initialized outside the loop 
    for x in range(num): 
     newValue=input("Enter the text you would like to add") 
     myList.append(newValue) 
    print(myList) 

if __name__ == '__main__': 
    main() 
0

Ну, у вас есть несколько ошибок:

  • Вы отсутствуете двоеточие в for петле

  • Поскольку вы переназначить myList пустой список каждый итерации цикла for , в списке будет только одно значение в конце

  • Вы на самом деле необходимо вызвать функцию

Таким образом, код становится:

def main(): 
    num=int(input("How many values would you like in your list?")) 
    myList = []    # Create the list here instead 
    for x in range(num):  # Colon is needed 
     newValue = raw_input("Enter the text you would like to add: ") 
     myList.append(newValue) 
    print(myList) 

main()      # Call the function 

 Смежные вопросы

  • Нет связанных вопросов^_^