2014-11-10 4 views
0

많은 google'ing과 노트 검색 후 난 아직 내 대답은이 목록을 만들기위한 답변을 찾아야 만 대답을한다면 내가 뭘 잘못했는지 설명 할 수 있었기 때문에 이 문제는 나를 실망시키지 않기로 결정되었습니다. 코드 :센티넬 루프 (beginnger)에서 목록 만들기 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]x의 값이 루프를 할 때마다 무엇이든 포함하는 목록에 l를 재 할당을 목록 l은 루프 외부에서 초기화되었습니다.

또한 "0"의 센티넬 값 iter을 사용할 수

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)