🇰🇷 한국어 🇺🇸 English
0 / 9 완료
🐍

파이썬 배우기

초등학생을 위한 쉽고 재미있는 파이썬 학습!
게임도 만들고, 앱도 만들어보자!

📚
9챕터
🎯
18퀴즈
🎮
4미니 프로젝트
0완료한 챕터
📖 챕터 목록
🐍
Chapter 1

파이썬이 뭐야?

컴퓨터와 대화하는 특별한 언어를 만나보자!

🌟 이걸 배우면 — 컴퓨터에게 명령하는 첫 번째 프로그램을 만들 수 있어!

🤔 파이썬(Python)이란?

파이썬은 컴퓨터에게 명령을 내리는 언어야!

우리가 한국어로 서로 대화하듯이, 컴퓨터에게도 특별한 언어로 말을 걸 수 있어. 그 중 하나가 바로 파이썬이야!

파이썬은 다른 프로그래밍 언어보다 읽기 쉽고, 배우기 쉬워서 처음 배우는 사람들에게 딱이야! 🎉

🎉 재미있는 사실! 파이썬이라는 이름은 뱀에서 온 게 아니야! '몬티 파이썬(Monty Python)'이라는 영국 코미디 프로그램에서 이름을 가져왔어. 그래서 파이썬 로고에 뱀 두 마리가 있는 거야! 🐍🐍

🚀 파이썬으로 뭘 만들 수 있어?

분야예시
🎮 게임마인크래프트 서버, 퍼즐 게임
🤖 인공지능(AI)ChatGPT, 이미지 인식
🌍 웹사이트인스타그램, 유튜브, 넷플릭스
📊 데이터 분석숫자 분석, 차트 만들기
🤖 로봇드론 제어, 자율주행
🎬 영화특수효과(VFX) 제작
💡 알고 있니? 인스타그램, 유튜브, 넷플릭스, 스포티파이, 드롭박스... 이 유명한 앱들 모두 파이썬으로 만들어졌어!

👍 파이썬이 좋은 이유

  • 영어처럼 읽기 쉬워서 이해하기 쉬워
  • 다른 언어보다 코드가 짧고 간단해
  • 전 세계에서 가장 인기 있는 언어 중 하나야
  • 무료로 사용할 수 있어
  • 도움을 받을 수 있는 자료가 많아

💻 어디서 파이썬을 쓸 수 있어?

지금 당장 파이썬을 써보고 싶다면 아래 사이트로 가봐! 설치 없이 바로 쓸 수 있어:

🌐 추천 사이트 (설치 없이 바로 가능!)
replit.com - 웹 브라우저에서 바로 파이썬 코딩!
python.org - 파이썬 공식 사이트 (다운로드)
colab.research.google.com - 구글에서 만든 파이썬 환경
📌 이 사이트에서 코드 보는 법 이 학습 사이트의 코드들은 직접 실행되지 않아. replit.com 같은 곳에서 코드를 복사해서 실행해봐!

🎯 퀴즈로 확인해보자!

Q1. 파이썬은 무엇이야?

Q2. 파이썬이라는 이름은 어디서 왔을까?

📺
Chapter 2

화면에 출력하기

print()로 화면에 글자를 써보자!

🌟 이걸 배우면 — 화면에 나만의 메시지를 마음대로 출력할 수 있어!

📢 print() 함수란?

print()는 화면에 글자나 숫자를 출력(보여주기)하는 명령어야.

파이썬에서 가장 먼저 배우는 기본 중의 기본이야! 🌟

🐍 python
print("Hello, World!")
▶ 출력 결과Hello, World!
🌍 Hello, World! 전 세계 모든 프로그래머가 처음 배울 때 "Hello, World!"를 출력해! 이게 전통이 되었어. 이제 너도 프로그래머야! 🎉

✨ 다양한 것들 출력하기

글자만 출력하는 게 아니야! 숫자도, 소수도 출력할 수 있어.

🐍 python
print("안녕하세요!")    # 글자 출력
print(123)            # 숫자 출력
print(3.14)           # 소수 출력
print(True)           # 참/거짓 출력
▶ 출력 결과안녕하세요! 123 3.14 True
💡 주석이란? # 기호 뒤에 오는 내용은 주석이야. 파이썬이 실행하지 않아서 메모를 적을 때 사용해!

🖊️ 여러 가지 같이 출력하기

🐍 python
print("나의 이름은", "김민준", "이야!")
print("나는", 10, "살이야")
▶ 출력 결과나의 이름은 김민준 이야! 나는 10 살이야

⚙️ print()의 특별 기능

sep로 구분자를, end로 줄 끝을 바꿀 수 있어!

🐍 python
# sep: 값들 사이에 넣을 문자 (기본: 공백)
print("사과", "바나나", "포도", sep=" / ")

# end: 줄 끝에 넣을 문자 (기본: 줄바꿈)
print("안녕", end="! ")
print("나는 파이썬이야!")
▶ 출력 결과사과 / 바나나 / 포도 안녕! 나는 파이썬이야!

🎨 f-string으로 예쁘게 출력하기

f"..."를 사용하면 문자열 안에 변수를 넣을 수 있어! (나중에 더 자세히 배워)

🐍 python
name = "서연"
age = 11
print(f"안녕! 나는 {name}이고, {age}살이야!")
▶ 출력 결과안녕! 나는 서연이고, 11살이야!

🎯 퀴즈로 확인해보자!

Q1. print("파이썬")을 실행하면 무엇이 출력될까?

Q2. 코드에서 # 기호는 무엇을 의미해?

📦
Chapter 3

변수 - 정보를 담는 상자

정보를 저장하고 불러오는 방법을 배워보자!

🌟 이걸 배우면 — 이름, 점수, 나이 같은 정보를 저장하고 사용하는 프로그램을 만들 수 있어!

📦 변수가 뭐야?

변수는 정보를 담는 이름 붙은 상자야!

상자에 이름을 붙이고, 그 안에 정보를 넣어두면 나중에 꺼내서 쓸 수 있어.

📦 상자 비유
name = "김민준" → "name"이라는 상자에 "김민준" 저장
age = 10 → "age"라는 상자에 숫자 10 저장
score = 95.5 → "score"라는 상자에 95.5 저장

✏️ 변수 만들기

= 기호로 변수를 만들어. 왼쪽이 이름, 오른쪽이 값이야!

🐍 python
name = "김민준"       # 이름 저장
age = 10             # 나이 저장
height = 140.5       # 키 저장
is_student = True    # 학생인지 저장

print(name)
print(age)
print(height)
print(is_student)
▶ 출력 결과김민준 10 140.5 True

🏷️ 데이터 타입 (자료형)

변수 안에 넣을 수 있는 정보의 종류야!

타입이름예시설명
str문자열"안녕", "민준"글자나 문장
int정수10, -5, 100소수점 없는 숫자
float소수3.14, 1.5소수점 있는 숫자
bool불리언True, False참(True) 또는 거짓(False)
🐍 python
# type() 함수로 타입 확인
print(type("안녕"))    # <class 'str'>
print(type(10))       # <class 'int'>
print(type(3.14))     # <class 'float'>
print(type(True))     # <class 'bool'>
▶ 출력 결과<class 'str'> <class 'int'> <class 'float'> <class 'bool'>

📝 변수 이름 규칙

✅ 사용 가능❌ 사용 불가
name, age, my_score1name (숫자로 시작 불가)
score1, total_countmy-score (하이픈 불가)
isStudent, bestScoreclass, if (예약어 불가)
💡 변수 이름 팁! 영어 소문자를 쓰고, 여러 단어는 밑줄(_)로 이어줘! 예: my_name, best_score

🔄 변수 값 바꾸기

🐍 python
score = 0
print("처음 점수:", score)   # 0

score = 100
print("바뀐 점수:", score)   # 100

score = score + 10          # 현재 값에서 10 더하기
print("최종 점수:", score)   # 110
▶ 출력 결과처음 점수: 0 바뀐 점수: 100 최종 점수: 110

🎯 퀴즈로 확인해보자!

Q1. 다음 중 올바른 변수 이름은?

Q2. age = 10에서 10은 어떤 데이터 타입일까?

🔢
Chapter 4

숫자와 계산

파이썬으로 계산기를 만들어보자!

🌟 이걸 배우면 — 덧셈·곱셈을 자동으로 해주는 나만의 계산기를 만들 수 있어!

➕ 파이썬의 계산 기호

기호의미예시결과
+더하기5 + 38
-빼기10 - 46
*곱하기3 * 412
/나누기10 / 42.5
//몫 (소수 버림)10 // 33
%나머지10 % 31
**제곱2 ** 101024

🧮 계산 예시

🐍 python
print(5 + 3)    # 8
print(10 - 4)   # 6
print(3 * 4)    # 12
print(10 / 4)   # 2.5
print(10 // 3)  # 3  (소수점 버림)
print(10 % 3)   # 1  (10 ÷ 3의 나머지)
print(2 ** 10)  # 1024 (2의 10제곱)
▶ 출력 결과8 6 12 2.5 3 1 1024

🛒 변수로 계산하기

🐍 python
price = 1500     # 과자 한 개 가격
count = 3        # 개수
total = price * count

print("총 가격:", total, "원")
print(f"과자 {count}개를 사면 {total}원이야!")
▶ 출력 결과총 가격: 4500 원 과자 3개를 사면 4500원이야!

⌨️ input()으로 입력 받기

input() 함수를 쓰면 사용자에게 직접 값을 받을 수 있어!

🐍 python
name = input("너의 이름은? ")
print("안녕,", name, "!")

# 숫자 입력받기
num1 = int(input("첫 번째 숫자: "))
num2 = int(input("두 번째 숫자: "))
print("합계:", num1 + num2)
⚠️ 중요! input()으로 받은 숫자는 문자열이야! 계산하려면 int()float()으로 바꿔줘야 해.

🔄 형 변환 (타입 바꾸기)

🐍 python
str(10)        # 숫자 → 문자열: "10"
int("123")     # 문자열 → 정수: 123
float("3.14")  # 문자열 → 소수: 3.14
int(3.7)       # 소수 → 정수: 3 (소수점 아래 버림!)

🎯 퀴즈로 확인해보자!

Q1. 10 % 3의 결과는?

Q2. 2 ** 3의 결과는?

Chapter 5

조건문 - if / else

상황에 따라 다른 행동을 해보자!

🌟 이걸 배우면 — 상황에 따라 다르게 반응하는 스마트한 프로그램을 만들 수 있어!

🔍 비교 연산자

두 값을 비교할 때 쓰는 기호들이야. 결과는 True 또는 False야!

기호의미예시결과
==같다5 == 5True
!=다르다5 != 3True
>크다7 > 5True
<작다3 < 5True
>=크거나 같다5 >= 5True
<=작거나 같다3 <= 5True

☝️ if 문

조건이 True일 때만 실행돼!

🐍 python
temperature = 35

if temperature > 30:
    print("날씨가 너무 더워요! ☀️")
    print("물을 많이 마셔요!")
▶ 출력 결과날씨가 너무 더워요! ☀️ 물을 많이 마셔요!
💡 들여쓰기(indentation)! if 다음 줄은 반드시 4칸 들여써야 해! 들여쓰기가 틀리면 오류가 나. 파이썬에서 아주 중요해!

↔️ if-else 문

🐍 python
money = 1000

if money >= 1500:
    print("과자를 살 수 있어요! 🍪")
else:
    print("돈이 부족해요. 500원 더 필요해요. 😢")
▶ 출력 결과돈이 부족해요. 500원 더 필요해요. 😢

📊 if-elif-else 문

여러 조건을 순서대로 확인할 수 있어!

🐍 python
score = 85

if score >= 90:
    print("A 등급! 최고야! ⭐⭐⭐")
elif score >= 80:
    print("B 등급! 잘했어! ⭐⭐")
elif score >= 70:
    print("C 등급! 조금 더 노력해! ⭐")
else:
    print("다음엔 더 잘할 수 있어! 💪")
▶ 출력 결과B 등급! 잘했어! ⭐⭐

🔗 and, or, not

🐍 python
age = 12
height = 145

# and: 둘 다 True여야 True
if age >= 10 and height >= 140:
    print("놀이기구 탈 수 있어요! 🎢")

# or: 하나라도 True면 True
if age >= 15 or height >= 140:
    print("어느 하나는 만족해요!")

# not: True면 False, False면 True
is_raining = False
if not is_raining:
    print("우산 없어도 돼요! ☀️")
▶ 출력 결과놀이기구 탈 수 있어요! 🎢 어느 하나는 만족해요! 우산 없어도 돼요! ☀️

🎯 퀴즈로 확인해보자!

Q1. 5 == 5의 결과는?

Q2. score = 95일 때 아래 코드의 출력은?
if score >= 90: print("A 등급")
else: print("B 등급")

🔄
Chapter 6

반복문 - for / while

같은 일을 여러 번 자동으로 해보자!

🌟 이걸 배우면 — 100번 해야 할 일을 코드 3줄로 끝낼 수 있어!

🤔 반복문이 왜 필요해?

"안녕!"을 100번 출력하려면 print("안녕!")을 100번 써야 할까?

😰 반복문 없이 (힘든 방법) print("안녕!") # 1번
print("안녕!") # 2번
print("안녕!") # 3번
... 100번 쓰기 ...
😎 반복문 사용 (쉬운 방법) for i in range(100):
    print("안녕!") # 단 2줄!

🔁 for 반복문

🐍 python
for i in range(5):
    print(i, "번째 안녕!")
▶ 출력 결과0 번째 안녕! 1 번째 안녕! 2 번째 안녕! 3 번째 안녕! 4 번째 안녕!

📐 range() 함수

코드범위
range(5)0, 1, 2, 3, 4
range(1, 6)1, 2, 3, 4, 5
range(0, 10, 2)0, 2, 4, 6, 8 (2씩 증가)
range(5, 0, -1)5, 4, 3, 2, 1 (거꾸로!)
🐍 python
# 3단 구구단
for i in range(1, 10):
    print(f"3 × {i} = {3 * i}")
▶ 출력 결과3 × 1 = 3 3 × 2 = 6 3 × 3 = 9 3 × 4 = 12 3 × 5 = 15 3 × 6 = 18 3 × 7 = 21 3 × 8 = 24 3 × 9 = 27

🔃 while 반복문

조건이 True인 동안 계속 반복해!

🐍 python
count = 1
while count <= 5:
    print(count, "번째!")
    count += 1   # count = count + 1 과 같아!
▶ 출력 결과1 번째! 2 번째! 3 번째! 4 번째! 5 번째!
⚠️ 무한 루프 주의! while 반복문은 조건이 영원히 True면 무한 반복해! count += 1처럼 조건이 변하게 해줘야 해.

⏹️ break와 continue

🐍 python
# break: 반복문 즉시 종료
for i in range(10):
    if i == 5:
        break       # 5에서 멈춤!
    print(i, end=" ")
# 출력: 0 1 2 3 4

print()  # 줄바꿈

# continue: 현재 번만 건너뜀
for i in range(10):
    if i % 2 == 0:
        continue    # 짝수는 건너뜀
    print(i, end=" ")
# 출력: 1 3 5 7 9
▶ 출력 결과0 1 2 3 4 1 3 5 7 9

🎯 퀴즈로 확인해보자!

Q1. range(1, 5)에 포함되는 숫자는?

Q2. for i in range(3): print(i)의 출력 결과는?

🎯
Chapter 7

함수 만들기

나만의 명령어를 직접 만들어보자!

🌟 이걸 배우면 — 자주 쓰는 기능을 나만의 명령어로 만들어 언제든 재사용할 수 있어!

🤔 함수가 뭐야?

함수는 특정 기능을 하는 코드 묶음이야!

우리가 계속 써온 print()도 파이썬이 미리 만들어준 함수야. 우리도 직접 만들 수 있어!

🍳 요리 레시피 비유! 함수 = 요리 레시피
• 레시피 이름 = 함수 이름
• 재료 = 매개변수 (parameter)
• 완성된 요리 = 반환값 (return value)

✏️ 함수 만들기 (def)

🐍 python
# 함수 정의 (def 사용)
def greet():
    print("안녕하세요! 👋")
    print("파이썬 세계에 오신 걸 환영해요!")

# 함수 호출 (사용)
greet()
greet()   # 또 호출!
▶ 출력 결과안녕하세요! 👋 파이썬 세계에 오신 걸 환영해요! 안녕하세요! 👋 파이썬 세계에 오신 걸 환영해요!

📬 매개변수 있는 함수

함수에 값을 전달할 수 있어!

🐍 python
def greet(name):
    print(f"안녕, {name}! 반가워! 😊")

greet("민준")
greet("서연")
greet("도현")
▶ 출력 결과안녕, 민준! 반가워! 😊 안녕, 서연! 반가워! 😊 안녕, 도현! 반가워! 😊

↩️ return으로 값 돌려주기

🐍 python
def add(a, b):
    result = a + b
    return result      # 결과를 돌려줘!

answer = add(5, 3)     # 반환값을 변수에 저장
print(answer)          # 8

print(add(10, 20))     # 30
print(add(100, 200))   # 300
▶ 출력 결과8 30 300

📦 여러 매개변수

🐍 python
def introduce(name, age, hobby):
    print(f"이름: {name}")
    print(f"나이: {age}살")
    print(f"취미: {hobby}")
    print("---")

introduce("김민준", 11, "축구 ⚽")
introduce("박서연", 10, "그림 그리기 🎨")
▶ 출력 결과이름: 김민준 나이: 11살 취미: 축구 ⚽ --- 이름: 박서연 나이: 10살 취미: 그림 그리기 🎨 ---

🛠️ 유용한 내장 함수들

🐍 python
numbers = [5, 2, 8, 1, 9, 3]

print(len(numbers))    # 6  (개수)
print(max(numbers))    # 9  (최대값)
print(min(numbers))    # 1  (최소값)
print(sum(numbers))    # 28 (합계)

print(abs(-10))        # 10 (절대값)
print(round(3.7))      # 4  (반올림)
▶ 출력 결과6 9 1 28 10 4

🎯 퀴즈로 확인해보자!

Q1. 함수를 만들 때 사용하는 키워드는?

Q2. 다음 코드에서 add(3, 4)의 결과는?
def add(a, b): return a + b

📝
Chapter 8

리스트

여러 개의 값을 하나로 모아보자!

🌟 이걸 배우면 — 반 친구들 이름이나 점수를 한꺼번에 관리하는 프로그램을 만들 수 있어!

📋 리스트가 뭐야?

리스트는 여러 개의 값을 순서대로 담는 큰 상자야!

변수 하나에 여러 값을 넣을 수 있어. 마치 서랍처럼!

🐍 python
fruits = ["사과", "바나나", "딸기", "포도"]
scores = [90, 85, 78, 92, 88]
mixed  = ["민준", 11, True, 3.14]   # 다른 타입도 넣을 수 있어!

print(fruits)
print(scores)
▶ 출력 결과['사과', '바나나', '딸기', '포도'] [90, 85, 78, 92, 88]

🔢 인덱스로 접근하기

리스트의 각 항목은 번호(인덱스)로 접근할 수 있어. 0부터 시작해!

🐍 python
fruits = ["사과", "바나나", "딸기", "포도"]
#  인덱스:    0       1       2      3

print(fruits[0])    # 사과   (첫 번째)
print(fruits[1])    # 바나나 (두 번째)
print(fruits[-1])   # 포도   (마지막)
print(fruits[-2])   # 딸기   (뒤에서 두 번째)
▶ 출력 결과사과 바나나 포도 딸기
💡 인덱스는 0부터! 첫 번째 항목 = [0], 두 번째 = [1], 세 번째 = [2] ...
파이썬에서는 항상 0부터 세기 시작해!

🛠️ 리스트 수정하기

🐍 python
fruits = ["사과", "바나나"]

fruits.append("딸기")          # 끝에 추가
print(fruits)   # ['사과', '바나나', '딸기']

fruits.insert(1, "포도")       # 1번 위치에 삽입
print(fruits)   # ['사과', '포도', '바나나', '딸기']

fruits.remove("바나나")         # 바나나 삭제
print(fruits)   # ['사과', '포도', '딸기']

print(len(fruits))             # 3 (개수)
fruits.sort()                  # 정렬
print(fruits)   # ['딸기', '사과', '포도']
▶ 출력 결과['사과', '바나나', '딸기'] ['사과', '포도', '바나나', '딸기'] ['사과', '포도', '딸기'] 3 ['딸기', '사과', '포도']

🔁 리스트와 반복문

🐍 python
fruits = ["사과", "바나나", "딸기", "포도"]

for fruit in fruits:
    print(fruit, "맛있어! 😋")

# 인덱스와 함께 출력
for i, fruit in enumerate(fruits):
    print(f"{i+1}번째: {fruit}")
▶ 출력 결과사과 맛있어! 😋 바나나 맛있어! 😋 딸기 맛있어! 😋 포도 맛있어! 😋 1번째: 사과 2번째: 바나나 3번째: 딸기 4번째: 포도

➕ 리스트 합치기

🐍 python
list1 = [1, 2, 3]
list2 = [4, 5, 6]

combined = list1 + list2
print(combined)   # [1, 2, 3, 4, 5, 6]

repeated = [0] * 5
print(repeated)   # [0, 0, 0, 0, 0]
▶ 출력 결과[1, 2, 3, 4, 5, 6] [0, 0, 0, 0, 0]

🎯 퀴즈로 확인해보자!

Q1. fruits = ["사과", "바나나", "딸기"]에서 fruits[1]은?

Q2. 리스트 끝에 새 항목을 추가하는 함수는?

🎮
Chapter 9

미니 프로젝트

배운 것을 활용해서 재미있는 프로그램을 만들어보자!

🌟 이걸 배우면 — 별 그리기부터 숫자 맞추기, 가위바위보 게임까지 진짜 프로그램을 완성할 수 있어!

⭐ 별 삼각형 그리기

반복문을 활용해서 별로 삼각형을 그려보자!

🐍 python
size = 5
for i in range(1, size + 1):
    print("⭐" * i)
▶ 출력 결과⭐ ⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐

💪 도전!

  1. 역삼각형을 만들어봐! (range(size, 0, -1) 사용)
  2. 가운데 정렬된 다이아몬드를 만들어봐!

🔢 구구단 출력기

🐍 python
number = int(input("몇 단을 볼까요? "))

print(f"\n{'='*15}")
print(f"   {number}단 구구단")
print(f"{'='*15}")
for i in range(1, 10):
    print(f"  {number} × {i:1} = {number * i:2}")
▶ 출력 결과 (입력: 7)=============== 7단 구구단 =============== 7 × 1 = 7 7 × 2 = 14 7 × 3 = 21 7 × 4 = 28 7 × 5 = 35 7 × 6 = 42 7 × 7 = 49 7 × 8 = 56 7 × 9 = 63

🎲 숫자 맞추기 게임

random 모듈을 사용해서 랜덤 숫자를 만들 수 있어!

🐍 python
import random    # random 모듈 불러오기

secret = random.randint(1, 10)   # 1~10 사이 랜덤 숫자
attempts = 0

print("🎮 숫자 맞추기 게임!")
print("1부터 10 사이의 숫자를 맞춰봐!\n")

while True:
    guess = int(input("숫자를 입력해: "))
    attempts += 1

    if guess < secret:
        print("더 큰 숫자야! ⬆️")
    elif guess > secret:
        print("더 작은 숫자야! ⬇️")
    else:
        print(f"\n🎉 정답! {attempts}번 만에 맞췄어!")
        break
💡 import란? 파이썬에는 미리 만들어진 도구 모음(모듈)이 있어. import로 불러와서 쓸 수 있어!
random.randint(1, 10) → 1에서 10 사이의 랜덤 숫자

📊 성적 계산기

리스트와 반복문을 활용한 성적 계산기야!

🐍 python
subjects = ["국어", "수학", "영어", "과학", "사회"]
scores = []

print("=== 📊 성적 계산기 ===\n")
for subject in subjects:
    score = int(input(f"{subject} 점수: "))
    scores.append(score)

total   = sum(scores)
average = total / len(scores)

print(f"\n{'='*20}")
print(f"총점:  {total}점")
print(f"평균:  {average:.1f}점")
print(f"{'='*20}")

if average >= 90:
    print("🏆 우수상! 최고야!")
elif average >= 80:
    print("👍 잘했어! 계속 노력해!")
elif average >= 70:
    print("📚 조금 더 노력해봐!")
else:
    print("💪 다음엔 더 잘할 수 있어!")

🧮 간단한 계산기

🐍 python
def calculator(a, op, b):
    if op == "+":
        return a + b
    elif op == "-":
        return a - b
    elif op == "*":
        return a * b
    elif op == "/":
        if b == 0:
            return "0으로 나눌 수 없어요!"
        return a / b
    else:
        return "알 수 없는 연산자예요!"

# 테스트
print(calculator(10, "+", 5))   # 15
print(calculator(10, "-", 3))   # 7
print(calculator(4,  "*", 6))   # 24
print(calculator(15, "/", 3))   # 5.0
print(calculator(10, "/", 0))   # 0으로 나눌 수 없어요!
▶ 출력 결과15 7 24 5.0 0으로 나눌 수 없어요!

🪨 가위바위보 게임

컴퓨터와 가위바위보 대결! 먼저 3번 이기면 승리야!

🐍 python
import random

choices = ["가위", "바위", "보"]
win_count = 0
lose_count = 0
draw_count = 0

print("🎮 가위바위보 게임!")
print("먼저 3번 이기면 승리!\n")

while True:
    print("1:가위  2:바위  3:보  0:그만")
    user_input = int(input("선택: "))

    if user_input == 0:
        print("게임 종료!")
        break

    if user_input not in [1, 2, 3]:
        print("1, 2, 3 중에서 선택해줘!\n")
        continue

    user     = choices[user_input - 1]
    computer = random.choice(choices)

    print(f"\n🙋 나:      {user}")
    print(f"🤖 컴퓨터: {computer}")

    if user == computer:
        print("😐 비겼어!")
        draw_count += 1
    elif (user == "가위" and computer == "보") or \
         (user == "바위" and computer == "가위") or \
         (user == "보"   and computer == "바위"):
        print("🎉 이겼어!")
        win_count += 1
    else:
        print("😢 졌어...")
        lose_count += 1

    print(f"전적: {win_count}승 {lose_count}패 {draw_count}무\n")

    if win_count == 3:
        print("🏆 3번 이겼어! 최고야!")
        break
    elif lose_count == 3:
        print("💪 3번 졌어. 다시 도전해봐!")
        break

print(f"\n=== 최종 결과 ===")
print(f"{win_count}승 {lose_count}패 {draw_count}무")
▶ 출력 결과 예시🎮 가위바위보 게임! 먼저 3번 이기면 승리! 1:가위 2:바위 3:보 0:그만 선택: 2 🙋 나: 바위 🤖 컴퓨터: 가위 🎉 이겼어! 전적: 1승 0패 0무 1:가위 2:바위 3:보 0:그만 선택: 1 🙋 나: 가위 🤖 컴퓨터: 바위 😢 졌어... 전적: 1승 1패 0무 ... 🏆 3번 이겼어! 최고야! === 최종 결과 === 3승 2패 0무

💪 도전!

  1. 3판 2선승제 대신 5판 3선승제로 바꿔봐!
  2. 매 라운드 결과를 리스트에 저장해서 게임 역사를 출력해봐!
  3. 컴퓨터가 항상 이기는 치트 모드를 만들어봐 (이유를 생각해봐!)

🎯 마지막 퀴즈!

Q1. 별을 5개 한 줄에 출력하는 가장 간단한 코드는?

Q2. random 모듈을 불러오는 방법은?