수업 시간에 다 못 해보는 설치 과정과 연습문제를, 집에서 혼자서도 처음부터 끝까지 따라 할 수 있도록 훨씬 자세히 풀어놓았습니다.
본 강의(수업 중 다루는 핵심 요약)는 파이썬 초급 1주차 강의안을 참고하세요. 이 페이지는 그 강의안을 바탕으로 실제 훈련량을 늘리기 위한 보충 실습자료입니다.
| 강의안 요약본 | 변수·자료형·입출력 개념을 세 문단으로 압축, 자기소개 프로그램 예시 1개 |
| 이 보충자료 | Windows·Mac 설치 스텝 바이 스텝, 개념별 추가 예제, 난이도별 연습문제 8개(정답·해설 포함), 자주 하는 실수 표, 확장 도전과제 |
| 권장 학습 순서 | ① 설치 가이드를 따라 실제로 설치 → ② 개념 설명을 코드로 직접 타이핑하며 읽기 → ③ 연습문제 1~5(기초)를 정답을 보기 전에 스스로 풀기 → ④ 연습문제 6~8(응용)에 도전 → ⑤ 자주 하는 실수 표로 자가 점검 |
1. 파이썬 설치
| 단계 | Windows | Mac |
|---|---|---|
| ① 다운로드 | python.org/downloads 접속 → 노란색 "Download Python" 버튼 클릭 | python.org/downloads 접속 → macOS용 설치파일(.pkg) 다운로드 |
| ② 설치 시 주의 | 설치 첫 화면 맨 아래 "Add python.exe to PATH" 체크박스를 반드시 체크 (이걸 놓치면 나중에 "python은 인식할 수 없는 명령어" 오류가 납니다) | 기본 설정 그대로 "계속" → "설치"로 진행하면 됩니다 |
| ③ 설치 확인 | 시작 메뉴에서 "cmd" 검색 → 명령 프롬프트 실행 → python --version 입력 | "터미널" 앱 실행 → python3 --version 입력 |
| ④ 정상 결과 | 화면에 Python 3.x.x 형태의 버전 번호가 뜨면 설치 성공입니다. | |
2. VSCode(코드 편집기) 설치
week1.py로 저장 (반드시 확장자 .py로 끝나야 합니다)3. 첫 코드 실행하기
week1.py 파일에 아래 한 줄을 입력합니다.
print("Hello, Python!")저장(Ctrl+S 또는 Cmd+S) 후, 화면 오른쪽 위의 ▷ 실행 버튼을 누르거나 VSCode 하단 터미널에 python week1.py (Mac은 python3 week1.py)를 입력하고 엔터를 칩니다. 화면에 Hello, Python!이 출력되면 준비 완료입니다.
설치 중 자주 겪는 문제
| 증상 | 원인 | 해결법 |
|---|---|---|
| 'python'은 내부 또는 외부 명령... 이 아닙니다 | 설치 시 "Add to PATH" 체크를 안 함 (Windows) | 파이썬 설치 프로그램을 다시 실행해 "Modify" → "Add to PATH" 체크 후 재설치, 또는 컴퓨터 재시작 후 재시도 |
| command not found: python | Mac은 기본 명령어가 python이 아니라 python3 | python3로 대신 입력. 매번 3을 붙이기 번거로우면 별칭(alias) 설정 검색해보기 |
| 실행해도 아무 반응이 없음 | 파일을 저장하지 않고 실행함 | Ctrl+S(Mac: Cmd+S)로 저장 후 다시 실행 |
1. 변수 — 이름표가 붙은 상자
변수는 값을 담아두는 상자이고, 변수 이름은 그 상자에 붙은 이름표입니다. 상자 안 내용물은 언제든 바꿔 넣을 수 있습니다.
name = "철수" # 문자열(str)을 name이라는 상자에 저장 age = 10 # 정수(int)를 age라는 상자에 저장 height = 142.5 # 실수(float)를 height라는 상자에 저장 is_student = True # 참/거짓(bool)을 is_student라는 상자에 저장 print(name) # 상자 안 내용물을 꺼내 출력 name = "영희" # 같은 상자에 다른 값을 다시 넣기 print(name) # 이번엔 "영희"가 출력됨
2. 세 가지 기본 자료형 한눈에 보기
| 자료형 | 예시 값 | 언제 쓰나 |
|---|---|---|
| str (문자열) | "안녕", 'Python' | 이름, 문장, 글자로 된 모든 것 — 반드시 따옴표로 감싼다 |
| int (정수) | 10, -3, 0 | 나이, 개수처럼 소수점 없는 숫자 |
| float (실수) | 3.14, 142.5 | 키·몸무게·평균처럼 소수점이 있는 숫자 |
| bool (참/거짓) | True, False | 맞다/아니다, 켜짐/꺼짐처럼 두 가지뿐인 답 (2주차 조건문에서 본격 사용) |
3. input()으로 받은 값은 항상 문자열이다 — 가장 많이 실수하는 지점
강의안에서는 짧게 지나갔지만, 이 부분에서 초보자가 가장 많이 막힙니다. input()으로 받은 값은 숫자를 입력해도 항상 문자열(str)로 취급됩니다. 숫자 계산에 쓰려면 반드시 int()나 float()로 바꿔줘야 합니다.
age = input("나이를 입력하세요: ") # 사용자가 10을 입력해도 age는 문자열 "10"
print(age + 1) # 오류! 문자열과 숫자는 더할 수 없습니다
age = int(input("나이를 입력하세요: ")) # int()로 감싸서 진짜 숫자로 변환
print(age + 1) # 정상 작동, 11 출력연습 1. 변수 만들기
자신의 이름을 name, 좋아하는 숫자를 favorite_number라는 변수에 저장하고, 두 변수를 각각 print()로 출력하는 코드를 작성하세요.
정답 예시
name = "장석조" favorite_number = 7 print(name) print(favorite_number)
연습 2. 문자열 이어 붙이기
변수 city에 "서울"을 저장하고, "저는 서울에 삽니다"가 출력되도록 문자열을 이어 붙여(+) 출력하세요.
힌트: 문자열끼리는 + 기호로 이어 붙일 수 있습니다.
정답 예시
city = "서울"
print("저는 " + city + "에 삽니다")연습 3. 숫자 계산하기
변수 a에 15, 변수 b에 4를 저장하고, 두 수의 합·차·곱·몫을 각각 한 줄씩 출력하세요.
힌트: 더하기 +, 빼기 -, 곱하기 *, 나누기 / 를 사용합니다.
정답 예시
a = 15 b = 4 print(a + b) # 19 print(a - b) # 11 print(a * b) # 60 print(a / b) # 3.75
연습 4. 입력받아 인사하기
input()으로 사용자의 이름을 입력받아 '반갑습니다, OOO님!'을 출력하는 프로그램을 작성하세요.
정답 예시
name = input("이름을 입력하세요: ")
print("반갑습니다, " + name + "님!")연습 5. 숫자 입력받아 계산하기
input()으로 정수 하나를 입력받아, 그 수에 10을 더한 값을 출력하세요. (반드시 int()로 변환할 것)
힌트: input()의 결과는 문자열이므로 int()로 감싸야 숫자 계산이 가능합니다.
정답 예시
num = int(input("숫자를 입력하세요: "))
print(num + 10)연습 6. 원의 넓이 계산기
반지름을 input()으로 입력받아(정수 또는 실수), 원의 넓이(반지름 × 반지름 × 3.14)를 계산해 출력하는 프로그램을 작성하세요.
힌트: 반지름은 소수점이 있을 수 있으니 int()가 아니라 float()로 변환하세요.
정답 예시
radius = float(input("반지름을 입력하세요: "))
area = radius * radius * 3.14
print("원의 넓이는", area, "입니다")연습 7. 이름과 나이로 자기소개 문장 완성하기
이름과 나이를 각각 input()으로 입력받아, "저는 OOO이고, OO살입니다. 내년에는 OO살이 됩니다."를 출력하세요. (나이는 계산에 쓰이므로 int로 변환 필요)
정답 예시
name = input("이름을 입력하세요: ")
age = int(input("나이를 입력하세요: "))
print("저는 " + name + "이고, " + str(age) + "살입니다. 내년에는 " + str(age + 1) + "살이 됩니다.")연습 8. 세 과목 평균 점수 계산기
국어·영어·수학 세 과목 점수를 각각 input()으로 입력받아(정수), 평균 점수를 계산해 출력하세요.
힌트: 평균 = (세 점수의 합) / 3. 나눗셈 결과는 자동으로 실수(float)가 됩니다.
정답 예시
kor = int(input("국어 점수: "))
eng = int(input("영어 점수: "))
math = int(input("수학 점수: "))
average = (kor + eng + math) / 3
print("평균 점수는", average, "점입니다")| 오류 메시지 / 증상 | 원인 | 해결법 |
|---|---|---|
| SyntaxError: EOL while scanning string literal | 문자열을 감싸는 따옴표를 한쪽만 쓰거나 짝을 안 맞춤 | "안녕이 아니라 "안녕"처럼 여는 따옴표와 닫는 따옴표를 반드시 짝 맞추기 |
| TypeError: can only concatenate str (not "int") to str | 문자열과 숫자를 +로 직접 이어 붙이려 함 | 숫자를 str(숫자)로 감싸 문자열로 바꾼 뒤 이어 붙이기 |
| NameError: name 'Name' is not defined | 변수 이름의 대소문자를 다르게 씀 (name과 Name은 다른 변수) | 변수를 만들 때 쓴 이름과 사용할 때 쓴 이름의 대소문자를 정확히 똑같이 맞추기 |
| 계산 결과가 이상하게 나옴 (예: "55" 처럼 숫자가 이어붙여짐) | int()로 변환하지 않은 input() 값을 숫자처럼 더함 | 숫자 계산 전엔 반드시 int() 또는 float()로 변환했는지 확인 |
| 파일을 실행해도 아무것도 안 뜸 | 저장을 안 하고 실행했거나, 다른 파일을 실행함 | 저장(Ctrl/Cmd+S) 후 실행, 터미널에 뜬 파일명이 지금 작업 중인 파일이 맞는지 확인 |
강의안의 목표였던 "이름과 나이를 입력받아 인사하는 프로그램"을, 한 줄씩 설명을 붙여 완전한 형태로 정리했습니다. 그대로 따라 입력해보고, 각 줄이 무슨 일을 하는지 스스로 옆 사람에게 설명할 수 있으면 이번 주 학습 목표를 달성한 것입니다.
# 1. 이름을 문자열로 입력받는다
name = input("이름이 무엇인가요? ")
# 2. 나이를 숫자로 입력받는다 (계산에 쓸 것이므로 int()로 변환)
age = int(input("나이가 몇 살인가요? "))
# 3. 입력받은 값들을 조합해 인사말을 완성해 출력한다
print("안녕하세요, " + name + "님. " + str(age) + "살이시군요!")
# 4. 확장: 10년 뒤 나이도 함께 알려주기
print(str(age) + "살이시니, 10년 뒤에는 " + str(age + 10) + "살이 되시겠네요.")도전 과제 (수업 진도보다 한 걸음 더)
아직 배우지 않은 조건문(if)이 필요할 수도 있지만, 위 코드만으로도 시도해볼 수 있는 도전 과제입니다. 안 풀려도 괜찮습니다 — 2주차 제어문을 배우고 나면 훨씬 쉬워집니다.
2주차 "제어 — 반복과 판단을 시키는 법"에서는 오늘 만든 프로그램에 조건문(if)과 반복문(for/while)을 더해, 성적 자동 판정기와 구구단 자동 출력기를 만듭니다. 이번 주 연습문제 6~8번, 특히 BMI 계산기를 미리 완성해두면 2주차 실습이 훨씬 수월합니다.