전체 과정의 첫 날, 오리엔테이션을 마치고 두 번째 날이 되었습니다.
Fundamental 과정을 도와주실 양재 캠퍼스 퍼실님들의 소개와 함께 수업 시작!!
Fundamental 과정은 LMS를 통해서 진행됩니다.
커널 연결이 안되신다면,
설정-커널 연결 부분을 로컬로 변경했다가 다시 클라우드로 변경하면 연결중 주황색 라인이 표시가 됩니다.
그런데 그 상태에서 또 진행이 안 될 경우,
로그아웃 및 재접속 후 강력 새로고침(?)을 통해 해결됩니다.
(강력 새로고침: Ctrl+Shift+R)
[Fundamental 6-1 파이썬으로 코딩 시작하기] 과정은 파이썬 기본에 관한 내용이었고, 어렵지 않게 할 수 있었습니다.
아래는 직접 작성한 피보나치킨 코드!
def fibonacci(n):
if n <= 2:
return 1
else:
return fibonacci(n-1) + fibonacci(n-2)
def FibonaChicken(people):
number = 1
if people > 2:
while fibonacci(number) < people:
number += 1
number -= 2
return number
피보나치 수열의 n번째 숫자만큼의 사람이 있다면, n-1번째 피보나치 숫자만큼 주문하게 되는 프로그램입니다.
재귀함수를 이용하여 잘 했는지는 모르겠지만 일단은...ㅎㅎ많은 분들의 피드백 부탁드려요!!
def print_two(word1, word2):
print(word1)
print(word2)
def print_and_return(word1, word2, word3):
print_two(word3, word2)
return word1
이렇게 선언하고,
print_two('A', print_and_return('B', 'C', 'D'))
이 코드를 실행했을 때!
사실 출력 되는 순서가 A D C B 일거라 생각했다.
정답은 D C A B
A라는 함수에 인자로 다른 B 함수가 호출이 되면, 인자로 어떤 값이 들어간 것이 아니기에 인자로 호출된 B함수를 가장 먼저 실행하게 됩니다. 그러면 B 함수를 차례로 진행하면서 출력할 것이 잇으면 출력을 하고, 마지막에 리턴되는 값이 아까 A함수의 인자가 되는 것입니다.
그래서 가장 먼저 print_two의 인자로 호출된 print_and_return('B', 'C', 'D') 함수를 수행합니다.
호출된 함수 안에 있는 함수 print_two(word3, word2)이 호출되어 D와 C가 출력됩니다.
그리고 리턴 값으로는 B가 할당됩니다.
결국 실행하려는 print_two 함수는 print_two('A', 'B')가 되면서 print('A')와 print('B')가 실행됩니다.
따라서 출력 결과가 D C A B로 나옵니다.
이 부분에서 상당히 복잡하게 생각했지만,
결국, 인자로 함수가 호출되면 그 함수부터 실행하여 값으로 치환해준다고 생각하게 되었습니다.