Skip to Content
💻 코리아IT아카데미 신촌 - 프로그래밍 학습 자료

Topic 4: 연산자 - 계산과 비교의 도구 🔧

🎯 학습 목표

파이썬의 다양한 연산자를 이해하고 활용하여 계산, 비교, 논리 연산을 수행할 수 있습니다.

🧮 산술 연산자 - 기본 계산 도구

기본 산술 연산

# 기본 계산 a = 10 b = 3 print(f"덧셈: {a} + {b} = {a + b}") # 13 print(f"뺄셈: {a} - {b} = {a - b}") # 7 print(f"곱셈: {a} * {b} = {a * b}") # 30 print(f"나눗셈: {a} / {b} = {a / b}") # 3.3333... print(f"몫: {a} // {b} = {a // b}") # 3 print(f"나머지: {a} % {b} = {a % b}") # 1 print(f"거듭제곱: {a} ** {b} = {a ** b}") # 1000

실수와 정수 연산

# 다양한 수 타입으로 계산 x = 15.5 y = 4 print(f"실수 + 정수: {x} + {y} = {x + y}") # 19.5 print(f"실수 / 정수: {x} / {y} = {x / y}") # 3.875 print(f"실수 몫: {x} // {y} = {x // y}") # 3.0 print(f"실수 나머지: {x} % {y} = {x % y}") # 3.5

🔍 비교 연산자 - 값을 비교하는 도구

기본 비교 연산

# 숫자 비교 a = 10 b = 5 c = 10 print(f"{a} == {b}: {a == b}") # False (같은가?) print(f"{a} != {b}: {a != b}") # True (다른가?) print(f"{a} > {b}: {a > b}") # True (큰가?) print(f"{a} < {b}: {a < b}") # False (작은가?) print(f"{a} >= {c}: {a >= c}") # True (크거나 같은가?) print(f"{a} <= {c}: {a <= c}") # True (작거나 같은가?)

문자열 비교

# 문자열 비교 name1 = "김파이썬" name2 = "이자바" name3 = "김파이썬" print(f"'{name1}' == '{name2}': {name1 == name2}") # False print(f"'{name1}' == '{name3}': {name1 == name3}") # True print(f"'{name1}' < '{name2}': {name1 < name2}") # True (사전순)

🔗 논리 연산자 - 조건을 조합하는 도구

기본 논리 연산

# 논리 연산자 age = 20 has_license = True is_student = False print(f"성인이면서 면허 있음: {age >= 18 and has_license}") # True print(f"학생이거나 미성년자: {is_student or age < 18}") # False print(f"학생이 아님: {not is_student}") # True

복합 조건 예제

# 복합 조건 판단 score = 85 attendance = 95 is_honor_student = score >= 90 and attendance >= 90 print(f"점수: {score}점") print(f"출석률: {attendance}%") print(f"우등생 여부: {is_honor_student}") # 여러 조건 조합 grade = "A" if score >= 90 else "B" if score >= 80 else "C" print(f"학점: {grade}")

🎯 대입 연산자 - 값을 효율적으로 저장

기본 대입과 복합 대입

# 기본 대입 x = 10 print(f"x = {x}") # 복합 대입 연산자 x += 5 # x = x + 5와 같음 print(f"x += 5: {x}") x -= 3 # x = x - 3와 같음 print(f"x -= 3: {x}") x *= 2 # x = x * 2와 같음 print(f"x *= 2: {x}") x /= 4 # x = x / 4와 같음 print(f"x /= 4: {x}")

문자열 복합 대입

# 문자열 복합 대입 message = "안녕" message += "하세요" # message = message + "하세요" print(f"인사말: {message}") # 반복 대입 laugh = "하" laugh *= 5 # laugh = laugh * 5 print(f"웃음: {laugh}")

🧐 연산자 우선순위

계산 순서 이해하기

# 연산자 우선순위 예제 result1 = 2 + 3 * 4 # 곱셈 먼저: 2 + 12 = 14 result2 = (2 + 3) * 4 # 괄호 먼저: 5 * 4 = 20 result3 = 2 ** 3 ** 2 # 거듭제곱 오른쪽부터: 2 ** 9 = 512 print(f"2 + 3 * 4 = {result1}") print(f"(2 + 3) * 4 = {result2}") print(f"2 ** 3 ** 2 = {result3}") # 복합 연산 complex_calc = 10 + 5 * 2 - 3 ** 2 / 3 print(f"10 + 5 * 2 - 3 ** 2 / 3 = {complex_calc}") # 순서: 3**2=9, 5*2=10, 9/3=3.0, 10+10-3.0=17.0

🚨 자주 발생하는 오류와 해결법

오류 1: 0으로 나누기

# ❌ 오류 발생 # result = 10 / 0 # ZeroDivisionError # ✅ 안전한 처리 a = 10 b = 0 if b != 0: result = a / b print(f"결과: {result}") else: print("0으로 나눌 수 없습니다.")

오류 2: 타입 오류

# ❌ 오류 발생 # result = "10" + 5 # TypeError # ✅ 타입 변환 text_num = "10" num = 5 result = int(text_num) + num # 15 print(f"결과: {result}")

오류 3: 잘못된 연산자 사용

# ❌ 잘못된 사용 # result = 5 ** ** 2 # SyntaxError # ✅ 올바른 사용 result = 5 ** 2 # 25 print(f"5의 제곱: {result}")

✅ 연산자 마스터 체크리스트

✅ 연산자 마스터 체크리스트

🎯 연산자 완전 정복!

연산자를 익히면서 다음을 할 수 있게 되었습니다:

  • 정확한 계산: 복잡한 수식도 단계별로 계산
  • 논리적 판단: 여러 조건을 조합하여 의사결정
  • 효율적 코딩: 복합 연산자로 간결한 코드 작성
  • 실용적 프로그램: 계산기 등 유용한 도구 제작

🚀 다음 단계로

연산자 사용법을 익혔으니, 이제 데이터의 종류를 구분하고 각각의 특성을 이해할 차례입니다.

다음 토픽에서는 정수, 실수, 문자열, 불린 등 다양한 데이터 타입을 배우고, 각각의 고유한 기능들을 활용해보겠습니다!

Last updated on