티스토리 뷰

지금까지 배운 내용을 복습하기 위한 퀴즈를 드리겠습니다. 직접 한 번 풀어보시고 나서 정답을 확인해주세요.

Quiz) 당신의 회사에서는 매주 1회 작성해야 하는 보고서가 있습니다.

보고서는 항상 아래와 같은 형태로 출력되어야 합니다.

 

- X 주차 주간보고 -

부서 : 

이름 : 

업무 요약 : 

 

1주차부터 50주차까지의 보고서 파일을 만드는 프로그램을 작성하시오.

조건 : 파일명은 '1주차.txt', '2주차.txt', ... 와 같이 만듭니다.

 

완성된 코드를 실행시키면 소스코드와 동일한 위치에 다음과 같이 50개의 파일이 생기면 됩니다.

1주차.txt
2주차.txt
3주차.txt
...
50주차.txt

그리고 각 파일에는 해당 주차에 해당하는 주간보고 내용이 포함됩니다.

(예 : 35주차.txt 파일 내용)

- 35 주차 주간보고 -

부서 : 

이름 : 

업무 요약 : 

 

 

▼ 해설 보기

더보기

이번 퀴즈는 쓰기 모드로 파일을 열어서 본문에 제시된 내용을 작성하도록 코드를 작성하면 됩니다. 그리고 반복문을 통해 몇 주차인지 숫자만 증가시키면서 같은 동작을 50번 반복하도록 하면 되지요.

먼저 1주차 파일을 만드는 코드를 작성해보겠습니다. with 를 써서 파일을 쓰기 모드인 "w" 로 열되 이름은 "1주차.txt" 로 하고 encoding 은 "utf8" 로 해줍니다. 그리고 이 파일은 report_file 이라는 변수명으로 접근할 수 있도록 해줄게요. with 구문 내에서는 report_file 의 write() 함수를 통해 본문에 제시된 보고서 내용을 작성해주면 끝입니다.

with open("1주차.txt", "w", encoding="utf8") as report_file:
    report_file.write("- 1 주차 주간보고 -")
    report_file.write("\n부서 : ") # 줄바꿈 처리
    report_file.write("\n이름 : ")
    report_file.write("\n업무 요약 : ")

이 때 write() 는 내용을 있는 그대로 파일에 쓰되 줄바꿈은 해주지 않으므로 2번째 줄부터는 탈출문자를 통해 줄바꿈을 해줍니다. 만약 줄바꿈을 하지 않는다면 파일에는 이런 식으로 내용이 적히게 됩니다.

- 1 주차 주간보고 -부서 : 이름 : 업무 요약 : 

코드를 실행시켜보면 "1주차.txt" 파일이 생기고 본문 내용도 잘 적히는 것을 볼 수 있습니다.

- 1 주차 주간보고 -
부서 : 
이름 : 
업무 요약 : 

 

이제는 이 작업을 50번 반복해보겠습니다. 앞에서 작성한 코드를 조금 변경하여 첫 줄에는 range() 를 이용해서 1~50 까지 숫자를 증가시키는 반복문을 먼저 쓰겠습니다.

for i in range(1, 51):

 

그리고 파일을 여는 부분에서 파일명을 서로 다르게 해주기 위해서 "X주차.txt" 와 같은 방식으로 바꿔볼텐데, 이를 위해 1~50 까지의 숫자 정보를 가지는 i 변수와 합치는 방식으로 하겠습니다. 문자열 여러개를 합칠 때 + 기호를 쓸 수 있는데 i 는 정수이므로 str(i) 를 통해 문자열로 변환해준 다음 둘을 더하도록 합니다.

for i in range(1, 51):
    with open(str(i) + "주차.txt", "w", encoding="utf8") as report_file:

 

write() 부분은 앞에서 작성한 코드를 그대로 가져다 쓰되, 보고서 본문 중 첫 번째 줄에도 몇 주차인지 정보가 필요하므로 format() 을 이용하여 i 값을 넣어주면 됩니다.

 

다음은 완성된 전체 코드입니다.

for i in range(1, 51):
    with open(str(i) + "주차.txt", "w", encoding="utf8") as report_file:
        report_file.write("- {0} 주차 주간보고 -".format(i))
        report_file.write("\n부서 : ")
        report_file.write("\n이름 : ")
        report_file.write("\n업무 요약 : ")

 

코드를 실행시키고 나면 많은 파일이 생길 텐데요. 이 파일들을 삭제하려면 비주얼 스튜디오 코드의 좌측 Explorer 탭에서 "1주차.txt" 파일을 클릭하고 키보드로 Shift 를 누른 상태에서 "50주차.txt" 파일을 클릭하면 연속 선택이 가능하며, 또는 Ctrl 을 누른 상태에서 파일을 하나씩 클릭하면 연속 선택이 가능합니다. 이 상태에서 키보드의 Delete 버튼을 누르거나 마우스 오른쪽 버튼을 클릭하여 Delete 메뉴를 누르면 파일을 한번에 삭제할 수 있습니다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함