목록재귀 (3)
without haste but without rest
character = { 'name': '기사', 'level': 12, 'items': { 'sword': '불꽃의검', 'armor': {'풀':'플레이트', '하프':'하프아모'} }, 'skill': ['베기', '세게 베기', {'아주':'아주 세게 베기', '아주아주': '아주아주 세게 베기' }] } def print_dict(key, d): if type(d) is not dict: print(key, ':', d) return for k in d: if type(d[k]) is dict: print_dict(None, d[k]) elif type(d[k]) is list: for x in d[k]: print_dict(k, x) else: print_dict(k, d[k]) print_d..
제곱 연산의 과정을 출력하는 과제 #define CRT_SECURE_NO_WARNINGS #include int count = 0; double res; void depth(int n) { for (int i = 0; i 0) { depth(count++); printf("power(%.3lf, %d)\n", d, n); } if (n == 0) { count--; return 1; } else if (n % 2 == 0) res = power(d * d, n / 2); else res = d * power(d * d, (n - 1) / 2); if (n > 1) { depth(--coun..
재귀 용법(Recursive Call) 이미지를 보면 프로그램 속에서 프로그램을 실행했다. 다시 프로그램 속의 프로그램 속에서 프로그램을 실행했다. 이게 재귀다. 함수 안에서 다시 똑같은 함수를 불러와서 재사용한다. *주의할 점은 항상 종료 조건을 만들어줘야 한다. 무한 루프에 빠진다. # Recursive def recursive(data): if data == 0: return print(data) recursive(data -1) print('Number is ', data) #Test Code recursive(5) 위 코드를 실행하면 아래처럼 출력된다. Number is .. 가 왜 역순으로 출력이 되는지 생각해보면 재귀를 이해하는 데에 도움이 된다.