[4장 연습문제]



함수 - Q1

시선에 따라 문제가 헷갈릴 수도 있는데(저처럼..)아래와 같이 번역하여 이해하는 게 좋은 것 같습니다.


입력 정수 n이하의 피보나치 수열을 구하라 -> 입력 정수n항 이하의 피보나치 수열을 구하라(n=0,1,2 ....)


재귀함수를 쓰려면 초기 종료 조건이 필요한데, 피보나치 수의 정의에 따르면 전 항+ 전전항 숫자의 합이므로 첫번째, 두번째 항은 무조건 0,1로 주어져야 하기 때문에 이를 이용해 종료조건 코드를 작성할 수 있습니다. 전체 코드는 간결합니다.


* 3번 째 항의 피보나치 수: 2

               



파일 읽고 쓰기 - Q1

sample데이터를 텍스트 파일에 미리 만들어 놓고 주어진 힌트 소스코드를 완성하여 프로그램을 작성하는 방식과

sample.txt의 데이터를 input함수로 입력하고 write한 뒤 읽어들이는 식으로 프로그램을 작성할 수 있습니다. 


이 문제를 풀기 위해서는 다음 2가지를 이해하고 있어야 합니다.

1. 파일 입출력의 write함수는 데이터를 무조건 문자열(str) 자료형만 사용할 수 있다.

2. 파일 입출력의 read함수로 데이터를 읽어들이기 위해 int로 형변환하여 파일속 숫자를 읽어들여야한다.

(텍스트 파일에 숫자가 저장되어 있지만 실제로는 int형이 아닌 문자열 자료형으로 입력되었기 때문입니다.)


1. 정답 코드(sample.txt에 데이터를 미리 넣어둔 뒤 read->write하는 방식)

13행에서 문자열로 형변환하여 데이터를 write해야합니다.



만약 13행을 아래 처럼 작성하면 write함수는 문자열만 가능하다고 오류가 뜹니다.

             



2. 응용 코드(샘플 데이터를 write하여 넣어둔 뒤 read->write하는 방식)

4행에서 '\n'을 넣어주지 않으면 sample.txt에 데이터가 한 줄로 저장이 되어버립니다.


                   








'점프 투 파이썬' 카테고리의 다른 글

3장 연습문제  (0) 2021.01.07
2장 연습문제  (0) 2021.01.06

+ Recent posts