직접 코드를 입력하고 실행하면서 익혀보는 실습 페이지예요. 기초 파트(섹션 1)는 반드시 끝까지 실습하고, 심화 파트(섹션 2 NumPy)는 시간이 남으면 도전해봐요!
실습 준비
실습은 구글 코랩(Google Colab) 에서 진행하면 설치 없이 바로 코드를 실행할 수 있어요.
- colab.research.google.com 접속
새 노트클릭- 코드 칸에 코드를 입력하고
Shift + Enter를 누르면 실행돼요!
💡 실습 방법: 먼저 예제 코드를 그대로 따라 쳐서 출력을 확인하고, 그다음 아래 도전 문제를 직접 풀어봐요. 정답은 토글(▶)을 눌러 확인할 수 있어요.
기초 파트 (반드시 실습!) — SECTION 01 파이썬 기초 문법
실습 1. 변수와 자료형
따라 해보기
변수는 데이터를 담는 '이름표'예요. 아래 코드를 그대로 입력하고 실행해봐요.
# 나를 소개하는 변수 만들기
name = "홍길동" # 문자열(str)
age = 17 # 정수(int)
height = 172.5 # 소수(float)
is_student = True # 참/거짓(bool)
print(name, "의 나이는", age, "살이에요.")
print("키는", height, "cm 입니다.")
print("학생인가요?", is_student)
# 자료형 확인하기
print(type(name)) # <class 'str'>
print(type(age)) # <class 'int'>
print(type(height)) # <class 'float'>
✏️ 도전 문제
자기 자신을 소개하는 변수 4개(name, age, height, hobby)를 만들고, print()로 한 줄에 출력해보세요. hobby에는 자기 취미를 문자열로 넣어요.
정답 확인하기
name = "김민준"
age = 17
height = 168.0
hobby = "농구"
print(name, "/", age, "살 /", height, "cm / 취미:", hobby)
# 출력: 김민준 / 17 살 / 168.0 cm / 취미: 농구
이름, 나이, 키, 취미가 한 줄에 나오면 성공이에요!
print()안에서 쉼표(,)로 여러 값을 이어 붙일 수 있어요.
실습 2. 조건문 (if / elif / else)
따라 해보기
'만약 ~라면 이렇게 해줘!'를 코드로 표현해요. 들여쓰기가 꼭 필요하다는 점에 주의하세요.
score = 85
if score >= 90:
print("A학점입니다!")
elif score >= 80:
print("B학점입니다!")
elif score >= 70:
print("C학점입니다!")
else:
print("재시험 대상입니다.")
# 출력: B학점입니다!
✏️ 도전 문제
변수 temperature(기온)에 따라 메시지를 출력하는 코드를 만들어보세요.
- 28도 이상이면 →
"더워요! 반팔 입으세요" - 15도 이상 28도 미만이면 →
"선선해요. 긴팔 추천" - 15도 미만이면 →
"추워요! 패딩 입으세요"
temperature = 30 으로 테스트해보세요.
정답 확인하기
temperature = 30
if temperature >= 28:
print("더워요! 반팔 입으세요")
elif temperature >= 15:
print("선선해요. 긴팔 추천")
else:
print("추워요! 패딩 입으세요")
# 출력: 더워요! 반팔 입으세요
💡
elif score >= 15는 "앞 조건(28 이상)이 거짓이면서 15 이상"이라는 뜻이에요. 그래서 따로15 <= temp < 28이라고 안 써도 돼요.
실습 3. 반복문 (for / while)
따라 해보기
같은 작업을 여러 번 반복할 때 사용해요.
# for 반복문 — 리스트를 하나씩 꺼내기
fruits = ["사과", "바나나", "딸기"]
for fruit in fruits:
print("나는", fruit, "를 좋아해요")
# range() — 숫자 반복
for i in range(1, 6):
print(i, "번째 줄") # 1 ~ 5
# while 반복문 — 조건이 참인 동안 반복
count = 3
while count > 0:
print("카운트다운:", count)
count -= 1
print("발사!")
✏️ 도전 문제
for 반복문과 range()를 사용해서 1부터 10까지의 합을 구해 출력해보세요. (정답은 55예요!)
정답 확인하기
total = 0
for i in range(1, 11): # 1, 2, 3, ... , 10
total = total + i # total += i 와 같아요
print("1부터 10까지의 합:", total)
# 출력: 1부터 10까지의 합: 55
💡
range(1, 11)은 1부터 10까지예요. 마지막 숫자(11)는 포함되지 않으니 주의하세요!total을 0으로 먼저 만들어두고, 반복할 때마다 숫자를 더해줘요.
실습 4. 함수 (def)
따라 해보기
자주 쓰는 코드를 묶어서 이름을 붙이면, 필요할 때마다 이름만 불러서 재사용할 수 있어요.
# 인사하는 함수
def greet(name):
message = "안녕, " + name + "!"
return message
print(greet("서연")) # 안녕, 서연!
print(greet("지호")) # 안녕, 지호!
# 두 수를 더하는 함수
def add(a, b):
return a + b
print(add(10, 20)) # 30
print(add(7, 3)) # 10
✏️ 도전 문제
국어, 영어, 수학 점수 3개를 받아서 평균을 돌려주는 함수 average(a, b, c)를 만들어보세요. average(90, 80, 70)을 출력하면 80.0이 나와야 해요.
정답 확인하기
def average(a, b, c):
return (a + b + c) / 3
print(average(90, 80, 70)) # 80.0
print(average(85, 90, 95)) # 90.0
💡 세 수를 더한 뒤 3으로 나누면 평균이에요.
return으로 결과값을 돌려주면, 함수를 부른 곳에서 그 값을 받아서 출력할 수 있어요.
🎯 기초 파트 종합 미션
지금까지 배운 변수 + 조건문 + 반복문 + 함수를 모두 합쳐봐요!
학생 5명의 점수가 담긴 리스트가 있어요. 함수를 만들어서, 각 점수가 60점 이상이면 "합격", 미만이면 "불합격"을 출력하는 프로그램을 완성해보세요.
scores = [85, 50, 73, 40, 90]
# 여기에 코드를 작성해보세요!
정답 확인하기
scores = [85, 50, 73, 40, 90]
def check_pass(score): # 함수
if score >= 60: # 조건문
return "합격"
else:
return "불합격"
for score in scores: # 반복문
print(score, "점 →", check_pass(score))
# 출력:
# 85 점 → 합격
# 50 점 → 불합격
# 73 점 → 합격
# 40 점 → 불합격
# 90 점 → 합격
함수(
check_pass)로 합격 여부를 판단하고, 반복문(for)으로 5명을 한 명씩 확인했어요. 이렇게 여러 개념을 조합하는 게 진짜 코딩이에요! 🎉
심화 파트 (도전!) — SECTION 02 NumPy
여기부터는 시간이 남는 친구들을 위한 심화예요. 먼저 아래 코드를 실행해서 NumPy를 불러와요.
import numpy as np # 앞으로 np 라는 별명으로 사용해요
실습 5. 배열(ndarray) 만들기
따라 해보기
NumPy 배열은 리스트와 비슷하지만, 수많은 숫자 계산을 아주 빠르게 처리할 수 있어요.
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print(arr) # [1 2 3 4 5]
print(np.zeros(5)) # [0. 0. 0. 0. 0.]
print(np.ones(5)) # [1. 1. 1. 1. 1.]
print(np.arange(1, 6))# [1 2 3 4 5]
# 2차원 배열 (행렬)
mat = np.array([[1, 2], [3, 4]])
print(mat.shape) # (2, 2) → 2행 2열
✏️ 도전 문제
np.arange()를 사용해서 10부터 20까지의 숫자 배열을 만들어 출력해보세요. (10, 11, ... , 20)
정답 확인하기
import numpy as np
arr = np.arange(10, 21) # 21은 포함 안 되므로 10~20까지!
print(arr)
# 출력: [10 11 12 13 14 15 16 17 18 19 20]
💡
range()처럼np.arange(10, 21)도 끝 숫자(21)는 포함하지 않아요. 그래서 20까지 나오게 하려면 21을 적어줘요.
실습 6. 배열 연산과 인덱싱
따라 해보기
배열의 가장 큰 장점은 전체에 한 번에 계산을 적용할 수 있다는 거예요.
import numpy as np
arr = np.array([10, 20, 30, 40])
print(arr * 2) # [20 40 60 80] 모든 값에 ×2
print(arr + 5) # [15 25 35 45] 모든 값에 +5
# 인덱싱 (위치로 값 꺼내기, 0부터 시작!)
print(arr[0]) # 10 (첫 번째)
print(arr[-1]) # 40 (마지막)
print(arr[1:3]) # [20 30]
# 조건으로 값 골라내기
print(arr[arr > 15]) # [20 30 40]
✏️ 도전 문제
배열 prices = np.array([1000, 2000, 3000, 4000]) 가 있어요. 모든 가격에 10% 할인을 적용한 배열을 출력해보세요. (정답: [ 900. 1800. 2700. 3600.])
정답 확인하기
import numpy as np
prices = np.array([1000, 2000, 3000, 4000])
discounted = prices * 0.9 # 10% 할인 = 90%만 내기
print(discounted)
# 출력: [ 900. 1800. 2700. 3600.]
💡
prices * 0.9한 줄로 배열의 모든 값에 한꺼번에 할인이 적용됐어요. 리스트였다면 반복문을 써야 했을 텐데, NumPy가 훨씬 간편하죠?
실습 7. 통계 함수
따라 해보기
NumPy는 합계·평균·최댓값 같은 통계를 함수 하나로 구해줘요.
import numpy as np
scores = np.array([72, 85, 90, 60, 78])
print("합계:", np.sum(scores)) # 385
print("평균:", np.mean(scores)) # 77.0
print("최고점:", np.max(scores)) # 90
print("최저점:", np.min(scores)) # 60
print("정렬:", np.sort(scores)) # [60 72 78 85 90]
✏️ 도전 문제
우리 반 5명의 키 heights = np.array([165, 172, 158, 180, 169]) 가 있어요. 평균 키와 가장 큰 키를 출력해보세요.
정답 확인하기
import numpy as np
heights = np.array([165, 172, 158, 180, 169])
print("평균 키:", np.mean(heights)) # 평균 키: 168.8
print("가장 큰 키:", np.max(heights)) # 가장 큰 키: 180
💡
np.mean()은 평균,np.max()는 최댓값을 구해줘요. 점수, 키, 기온 등 숫자 데이터를 다룰 때 정말 자주 쓰는 함수예요!
🎯 심화 파트 종합 미션
학생 5명의 시험 점수가 담긴 배열로 미니 성적 분석기를 만들어봐요!
import numpy as np
scores = np.array([88, 92, 70, 55, 100])
# 1. 평균 점수를 출력하세요
# 2. 평균보다 높은 점수만 골라서 출력하세요
정답 확인하기
import numpy as np
scores = np.array([88, 92, 70, 55, 100])
avg = np.mean(scores)
print("평균:", avg) # 평균: 81.0
print("평균보다 높은 점수:", scores[scores > avg])
# 평균보다 높은 점수: [ 88 92 100]
scores[scores > avg]는 "평균보다 큰 값만 골라줘"라는 뜻이에요. 통계 함수 + 조건 인덱싱을 합치면 이렇게 데이터 분석이 시작돼요. 다음 시간엔 Pandas로 더 큰 표 데이터를 다뤄볼 거예요! 🚀
📮 실습 제출 방법
실습을 마쳤으면 블로그 글 맨 아래 댓글창에 결과를 남겨주세요! 제출에는 두 가지가 꼭 들어가야 해요.
- 내가 작성한 코드
- 실행해서 결과가 나온 화면 스크린샷
[ 1단계 ] 스크린샷 찍기
코랩에서 코드와 출력 결과가 함께 보이게 캡처해주세요.
- 🪟 윈도우:
Win+Shift+S→ 캡처할 영역을 드래그 - 🍎 맥:
Cmd+Shift+4→ 캡처할 영역을 드래그
[ 2단계 ] 댓글로 올리기
실습 페이지(블로그 글) 맨 아래로 내려가면 댓글 작성창이 있어요. 이 댓글은 GitHub 계정으로 로그인해야 쓸 수 있어요.
- 댓글창 아래 로그인 버튼을 눌러 GitHub 계정으로 로그인해요.
작성하기탭에서 아래 예시처럼 코드를 코드블록으로 붙여넣어요. (백틱 3개 ` 로 감싸면 코드가 예쁘게 나와요)- 스크린샷은 댓글창 안에 이미지 파일을 드래그하거나 복사-붙여넣기(
Ctrl + V) 하면 자동으로 업로드돼요. 미리보기탭으로 잘 나오는지 확인한 뒤, 댓글 등록 버튼을 누르면 끝!
✍️ 댓글 작성 예시
아래처럼 '어떤 실습인지 + 이름 + 코드 + 결과 + 스크린샷' 순서로 적어주면 돼요.
[실습 3] 1부터 10까지의 합 — 이예림
## 코드
total = 0 / for i in range(1, 11): / total += i / print("합:", total)
## 실행결과
📷 (아래에 코랩 실행 화면 스크린샷 첨부)
💡 댓글 입력창에서는 긴 코드 블록이 깔끔하게 안 보일 수 있어요. 코드는 위 예시처럼 간단히 적고,
정확한 코드와 결과는 스크린샷으로 보여주는 게 가장 좋아요!
오늘 실습 정말 고생 많았어요! 막히는 부분이 있으면 언제든 질문해주세요 🙌
