파이썬 재귀함수 예제 질문입니다.
조회수 656회
building = ["경복궁", 1395, ["숭례문", 1396, ["창덕궁", 1405]]] 이 building 문자열을
경복궁
1395
숭례문
1396
창덕궁
1405
이런 식으로 표현하고자 합니다. 기본적으로 주어진 함수는
def printItems(aList):
for item in aList:
if isinstance(item, list):
printItems(item)
else:
print(item)
이며 여기에 '\t'를 다루는 인자 tab를 추가해서 재귀함수를 호출한다면 공백을 한번 넣어 출력하고 이후 tab만큼 더 공백을 띄게 하고싶은데 도움이 필요합니다..
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
building = ["경복궁", 1395, ["숭례문", 1396, ["창덕궁", 1405]]] def printItems(lst, tabs=''): for item in lst: if isinstance(item, list): printItems(item, tabs+'\t') else: print('%s%s'%(tabs, item)) printItems(building)
경복궁 1395 숭례문 1396 창덕궁 1405
- 감사합니다. 혹시 tabs를 변수로 지정하여 printIems(building, 0) 가 같은 결과값을 보이게 수정하려면 어디를 건드려야 할까요? 알 수 없는 사용자 2020.4.14 14:37
- @Lee.HS : 제 예제코드를 잘 이해하려고 해 보세요. 그렇게 어렵지 않아요. 왜 저렇게 되는지 이해가 간다면, 어디를 건드릴 지 스스로 알아낼 수 있고, 더 좋은 코드로 바꿀 수 있을 겁니다. nowp 2020.4.14 14:48
- 예. 해보겠습니다 알 수 없는 사용자 2020.4.14 14:49
댓글 입력