2017-12-19 1 views
0

이 코드를 파이썬 3에 코딩하고 매번 실행하려고합니다. 물론 기능을 수행하지만 실행하고 싶지 않은 것은 아닙니다. 그것은 당신이 "courses_list"목록에 추가하고자하는 몇 가지 과정을 넣으라고 요청할 것입니다.하지만 제 문제는 매번 다른 입력 (과정)을 입력 할 때마다 courses_list 안에있는 내용 만 대체하는 것입니다. 그것은 내가 원하는 것처럼 그것을 구하지 못했습니다.파이썬 목록에 입력을 저장하는 방법 3

def courses(): 
    courses_list = [] 
    coursesInput = input("Insert the course you want") 
    courses_list.insert(0, coursesInput) 
    print (courses_list) 
    courses() 

courses() 

결과 : 예 나는

CompSci 
['CompScie'] 
Physics 
['Physics'] 

그래서 내가 어떻게 그렇게 매번 그것이에 삽입합니다 다른 과목을주고 다시 묻지하는 courses_list의 결과를 저장할 수 있습니다 (CompScie 물리학)을 입력 courses_list.

나는 일이 원하는 것은 : 당신이 함수 내부의 목록을 만들었습니다 때문에

CompScie 
['CompScie'] 
Physics 
['Physics', 'CompScie']  
+3

함수가 호출 될 때마다 새 목록을 만들지 않으려면 함수가 호출 될 때마다 새 목록을 만드는 이유는 무엇입니까? – jonrsharpe

답변

0

이 발생합니다. 따라서 함수가 호출 될 때마다 새 목록을 만들고 입력을 추가합니다. 당신이해야 할 일은 함수의 범위 밖에서리스트를 만들고 인자를 사용하여 그것을 수정하는 것입니다.

def courses(c_list): 
    coursesInput = input("Insert the course you want") 
    c_list.insert(0, coursesInput) 
    print (c_list) 
    courses(c_list) 

courses_list = [] 
courses(course_list) 
관련 문제