나는 파이썬으로 사람 클래스 용으로 설계된 클래스 모델을 가지고있다. 어떤 사람은 학생이고 0,1 또는 많은 고문을 가질 수 있습니다. 사람은 또한 이름, 학교, 졸업 년도, 그가 일한 분류, 얻은 학위 등의 다른 속성을 가질 수 있습니다.python - 재귀 호출
클래스의 각 속성에 대한 메소드를 설정하고 가져 왔습니다. Ex. set_advisor (self, advisor)는 고문을 학생 고문 목록에 삽입합니다. set_year (self, year) 학생의 졸업 연도를 설정합니다.
마찬가지로 get_advisor (self)는 학생의 고문을 반환합니다. 등등 ..
마지막으로 개체를 채우고 이름을 사람으로 지정합니다. 나는 몇 년에 졸업 한 학생의 목록을 얻으려면
난 그냥 교수가 몇 년에 졸업 한 학생들 say..list, 쿼리를 작성하려면 지금
print [people[p].name for p in people if people[p].year="YEAR"]
쓰기 난 단지 1990 년에 졸업 한 사람들을 추적하기 위해 재귀 쿼리를 작성하려면 지금 .. 일부 "ABC"... 는 예를 들어, 데이터 셋과 같습니다 말을 다시
person a graduated in year 1990
person b graduated in year 1990
person c graduated in year 1991
person d graduated in year 1990
person a was advised by person e
person e was advised by person f
person f was advised by person g
person g was advised by person abc
person b was advised by person i
person i was advised by person abc
person c was advised by person abc
person d was advised by person h
person h was advised by person k
을 추적하고 그 고문 ABC으로 추적 위의 경우 그것은 a와 b만을 결과로 가져와야합니다.
어떻게해야합니까? 나는 문법에 문제가 있고 위 질문을 공식화 한 것과 같은 용어로 query.Like를 공식화하고있다. 누구든지이 문제를 해결할 수 있습니까?
비슷하게 .. 나는 어떤 종류의 일을하고 같은 해 졸업 한 학생들의 쌍을 얻기 위해 질의를 작성하고 ... 어떻게 작성합니까? 또한 그들의 고문에게도 같은 분류 작업을 시켰습니다.
감사합니다.
당신이 좋아하는 뭔가 클래스의 메소드를 작성할 수
이 경우 self.advisor는 문자열 목록 일 가능성이 높기 때문에 재귀 적 .has_advisor가 작동하지 않을 수 있습니다. –
가 유망 해 보인다. 내가 그것을 되찾고 업데이 트하자마자 시도 할 것입니다. – Anu
@Blair - 의존합니다. self.advisor가 string의리스트라면, 우리는 'people [adv_name]을 adv_name의 어드바이저로 대체 할 수 있습니다.' – Benj