2014-11-10 6 views
0

после долгих поисковых запросов и заметок. Мне еще предстоит найти ответ на этот список моих работ, если вы ответите, можете ли вы объяснить, что я делаю неправильно, эта проблема не позволяет мне работать. код:Создание списка в цикле дозатора (начинающий) PYTHON

def main(): 

    x = int(input("Enter a number (0 to stop) ")) 
    y = x 
    l = [] 

    while x != 0: 
     x = int(input("Enter a number (0 to stop) ")) 
     l = [x] 
    print(l[x]) 

main() 

Я думал, что я должен был инициализировать список вне цикла, и в цикле я думал, что это будет принимать все X вводится в качестве и сохранить его позже распечатывается после него, но это не так. Любые указатели?

+2

Пожалуйста, задайте свой вопрос - теперь не понятно, в чем ваша проблема. –

ответ

0

Вам необходимо будет добавить в список каждый раз, когда:

def main(): 
    x = int(input("Enter a number (0 to stop) ")) 
    l = [x] # add first x, we will add to the is list not reassign l inside the loop 
    while x != 0: 
     x = int(input("Enter a number (0 to stop) ")) 
     l.append(x) # append each time 
    print(l) # print all when user enters 0 

l = [x] переназначение l к списку, содержащему независимо от значения x это каждый раз через петлю, чтобы получить все номера вы должны приложить к список l, инициализированный вне цикла.

Вы также можете использовать iter со значением дозорного «0»:

def main(): 
    l = [] 
    print("Enter a number (0 to stop) ") 
    for x in iter(input,"0"): 
     print("Enter a number (0 to stop) ") 
     l.append(int(x)) 
    print(l)