
1. 오늘 학습 목표
- 파이썬 파일 다루기, 파이썬 혼자서 공부하는 방법
2. 오늘 학습 한 내용
파일 입출력 기본 개념
- 컴퓨터는 프로그램이 종료되면 메모리의 내용이 사라지므로 데이터를 파일에 저장해두어야 한다.
- 파일 여는 방법
f = open("data.txt", "w", encoding="utf-8")
f.write("Hello Python!\n")
f.close()

- 안전한 파일 처리
with open("data.txt", "w", encoding="utf-8") as f:
f.write("안녕하세요!\n")
f.write("파일 입출력 공부 중입니다.")

- 파이썬 -> JSON 파일 쓰기
import json
student = {
"name": "Hannah",
"scores": [90, 95, 85],
"average": 90.0
}
with open("student.json", "w", encoding="utf-8") as f:
json.dump(student, f, ensure_ascii=False, indent=4)
- JSON -> 파이썬
import json
with open("student.json", "r", encoding="utf-8") as f:
data = json.load(f)
print(data["name"])
print(data["average"])
그리고 튜터님께 문법은 이제 대충 알겠는데 구조짜는게 어렵다고 말씀드렸더니 수도코드를 알려주셨다.
- 수도코드란?
코드를 작성하기 전에 사람 말에 가깝게 논리 흐름을 정리하는 방법
- 쓰는 이유?
문제 해결 순서를 먼저 정리 할 수 있고, 코드 문법보다 논리 구조에 집중할 수 있다.
수도코드 규칙과 예시
더보기
수도코드 작성 규칙
1) 실제 코드 문법에 너무 얽매이지 않는다
수도코드는 실제 프로그래밍 언어가 아니기 때문에 파이썬 문법을 정확히 지킬 필요는 없다.
사람이 읽었을 때 이해하기 쉽게 작성하면 된다.
예시
숫자 2개를 입력받는다
두 숫자를 더한다
더한 결과를 출력한다
2) 실행 순서대로 작성한다
컴퓨터는 코드를 위에서 아래로 순서대로 실행한다.
따라서 수도코드도 프로그램이 실행되는 순서대로 작성해야 한다.
예시
사용자에게 숫자를 입력받는다
입력받은 숫자를 정수로 변환한다
숫자가 10보다 큰지 확인한다
10보다 크면 “10보다 큽니다”를 출력한다
아니면 “10보다 작거나 같습니다”를 출력한다
3) 입력, 처리, 출력 구조를 생각한다
대부분의 프로그램은 다음 구조를 가진다.
입력 → 처리 → 출력
예시
점수를 입력받는다
점수가 60점 이상인지 확인한다
60점 이상이면 “합격”을 출력한다
60점 미만이면 “불합격”을 출력한다
4) 조건문은 “만약 ~라면”으로 표현한다
조건에 따라 결과가 달라지는 경우에는 ‘만약’, ‘아니면’ 같은 표현을 사용한다.
예시
만약 점수가 60점 이상이면
“합격”을 출력한다
아니면
“불합격”을 출력한다
이를 파이썬 코드로 바꾸면 다음과 같다.
if score >= 60:
print(“합격”)
else:
print(“불합격”)
5) 반복문은 “반복한다” 또는 “하나씩 확인한다”로 표현한다
같은 작업을 여러 번 반복해야 할 때는 반복 구조로 작성한다.
예시
숫자 리스트를 준비한다
합계를 저장할 변수를 0으로 만든다
리스트 안의 숫자를 하나씩 확인한다
각 숫자를 합계에 더한다
반복이 끝나면 합계를 출력한다
이를 파이썬 코드로 바꾸면 다음과 같다.
numbers = [1, 2, 3]
total = 0
for num in numbers:
total += num
print(total)
6) 들여쓰기로 구조를 구분한다
조건문이나 반복문 안에 포함되는 내용은 들여쓰기를 해서 구분한다.
들여쓰기를 하면 어떤 코드가 조건문이나 반복문 안에 포함되는지 쉽게 알 수 있다.
예시
학생의 점수를 확인한다
만약 점수가 90점 이상이면
“A등급”을 출력한다
아니면 점수가 80점 이상이면
“B등급”을 출력한다
아니면
“C등급”을 출력한다
Tip. 처음나오는 문제들은 수도코드로 한번 해보자! 차근차근. 처음부터 완벽한 사람은 없다.
나의 간단 소감
- 사실 아무리 코드연습문제를 풀어도 구조짜는게 새로 나오면 헷갈렸는데 수도코드라는 것을 알게되어 너무 유용할 것 같다. 딱 내가 필요한 공부방법이다. 단순하지만 확실한. 오늘부터 바로 해봐야겠다.
'내일배움캠프' 카테고리의 다른 글
| [본캠프] 데이터기반 QA/QC 부트캠프 13일차 (0) | 2026.05.28 |
|---|---|
| [본캠프] 데이터기반 QA/QC 부트캠프 12일차 (1) | 2026.05.27 |
| [본캠프] 데이터기반 QA/QC 부트캠프 10일차 (0) | 2026.05.22 |
| [본캠프] 데이터기반 QA/QC 부트캠프 9일차 (0) | 2026.05.21 |
| [본캠프] 데이터기반 QA/QC 부트캠프 8일차 (0) | 2026.05.20 |