Q 파일 읽기 2
numbers.txt 파일에는 다음과 같이 숫자가 나열되어 있습니다.
324
103
90
...
이 파일을 읽어서 파일안에 등장하는 모든 숫자들 중 짝수의 합을 구하려 합니다.
다음중 코드의 빈칸에 알맞는 코드는 무엇인가요?
sum = 0
f = open("numbers.txt", "r")
for line in f:
number = int(line.strip())
if number % 2 != 0:
____________
sum += number
f.close()
해당 빈칸에 들어갈 답은 continue다.
처음엔 break를 골랐음... 그러면 반복문 자체가 깨지는 건데, 답을 몰랐다.
출처) https://chancoding.tistory.com/7
Q 이미지를 다루는 코드 읽기
다음 함수는 무엇을 하는 함수인가요?
def foo(canvas, img, x1, y1):
w,h = img.size()
for y in range(h):
for x in range(w):
canvas.set(x1 + x, y1 +y, img.get(x,y))
나의 오답 : 이미지의 크기를 변경하는 함수
정답 : 이미지를 복사하여 다른 이미지에 붙여넣는 함수
틀린이유 : canvas와 image가 따로 있는 것을 알아차리지 못함
추가적으로 상기하고 가면 좋을 내용
: x1과 y1은 img 값을 놓을 위치다.
: img.get(x,y)는 x,y 점에 있는 색깔을 얻는 함수다.
Q 파일 파일 읽기 1
planets.txt 파일에는 다음과 같이 행성의 이름이 나열되어 있습니다.
Mercury
Venus
Earth
Mars
Jupiter
이 파일을 읽어서 행성의 이름으로 이루어진 리스트를 만드려 합니다. 다음 코드의 빈칸에 알맞는 코드는 무엇인가요?
planet = []
f = ____________
for line in f:
planets.append(line.strip())
f.close()
내가 선택한 답 : "planets.txt".readlines()
정답 : open("planets.txt", "r")
틀린 이유 : readlines()의 개념을 몰라서.
이해해야 하는 부분
: 뒤에서 for 반복문을 통해 line.strip()를 append 해주고 있으므로, open만 하기!
readlines 함수는 파일의 모든 줄을 읽어서 각각의 줄을 요소로 갖는 리스트로 돌려준다. 따라서 위 예에서 lines는 리스트 ["1 번째 줄입니다.\n", "2 번째 줄입니다.\n", ..., "10 번째 줄입니다.\n"]가 된다.
출처) https://wikidocs.net/26 (해당 링크를 참고하자)