3강

연산자와 입력 — 계산하고 소통하기

4 조회 1

산술·비교·논리·대입 연산자와 input() 함수로 사용자 입력 받기

이번 강에서 배울 것

  • 산술 연산자 — +, -, *, /, //, %, **
  • 비교 연산자 — ==, !=, >, <, >=, <=
  • 논리 연산자 — and, or, not
  • 대입 연산자 — +=, -=, *=, /=
  • input() 함수로 사용자 입력 받기

1. 산술 연산자

a = 17
b = 5

print(a + b)   # →  22   덧셈
print(a - b)   # →  12   뺄셈
print(a * b)   # →  85   곱셈
print(a / b)   # →   3.4 나눗셈 (항상 float 반환)
print(a // b)  # →   3   몫 (정수 나눗셈, 소수점 버림)
print(a % b)   # →   2   나머지
print(a ** b)  # → 1419857  거듭제곱 (17의 5승)

# 연산자 우선순위: ** > * / // % > + -
print(2 + 3 * 4)    # → 14  (곱셈 먼저)
print((2 + 3) * 4)  # → 20  (괄호 먼저)

# 실수 나눗셈 주의
print(10 / 3)    # → 3.3333...  (float)
print(10 // 3)   # → 3          (int, 몫만)
print(10 % 3)    # → 1          (나머지)

# 유용한 활용
# 짝수/홀수 판별: n % 2 == 0이면 짝수
print(7 % 2)  # → 1 (홀수)
print(8 % 2)  # → 0 (짝수)

2. 비교 연산자

비교 연산자는 두 값을 비교해 True 또는 False(불리언)를 반환합니다. 조건문·반복문에서 핵심적으로 사용됩니다.

x = 10
y = 20

print(x == y)   # → False  같다
print(x != y)   # → True   다르다
print(x > y)    # → False  크다
print(x < y)    # → True   작다
print(x >= 10)  # → True   크거나 같다
print(x <= 9)   # → False  작거나 같다

# 문자열도 비교 가능
print("apple" == "apple")  # → True
print("apple" < "banana")  # → True  (알파벳 순서)

# 중요: = (대입)과 == (비교) 구분!
a = 5    # a에 5를 저장 (대입)
a == 5   # a가 5인지 비교 → True

3. 논리 연산자

# and: 둘 다 True여야 True
print(True and True)   # → True
print(True and False)  # → False
print(False and True)  # → False

# or: 하나라도 True면 True
print(True or False)   # → True
print(False or False)  # → False

# not: True → False, False → True
print(not True)   # → False
print(not False)  # → True

# 실제 활용 예시
age = 20
has_ticket = True

# 성인이고 티켓이 있는지 확인
can_enter = age >= 18 and has_ticket
print(can_enter)  # → True

# 점수가 90 이상이거나 특별 면제인지 확인
score = 85
is_exempt = False
passed = score >= 90 or is_exempt
print(passed)  # → False

# 로그인 안 된 상태인지 확인
is_logged_in = False
print(not is_logged_in)  # → True

4. 대입 연산자

count = 0

count += 1   # count = count + 1 과 동일 → 1
count += 1   # → 2
count += 5   # → 7
print(count) # → 7

score = 100
score -= 10  # score = score - 10  → 90
score *= 2   # score = score * 2   → 180
score /= 3   # score = score / 3   → 60.0
score //= 4  # score = score // 4  → 15.0
score **= 2  # score = score ** 2  → 225.0
score %= 100 # score = score % 100 → 25.0
print(score) # → 25.0

5. input()으로 사용자 입력 받기

# input()은 괄호 안 문자열을 화면에 출력하고 사용자 입력을 기다림
# 항상 문자열(str)로 반환됨!

name = input("이름을 입력하세요: ")
print(f"안녕하세요, {name}님!")

# 숫자 입력 받기: int() 또는 float()로 변환 필수
age = int(input("나이를 입력하세요: "))
print(f"내년에는 {age + 1}살이 됩니다.")

# 실수 입력
height = float(input("키를 입력하세요 (cm): "))
print(f"키: {height}cm")

# 여러 값을 한 줄에 입력받기 (split 사용)
a, b = input("두 숫자를 입력하세요 (공백으로 구분): ").split()
a, b = int(a), int(b)
print(f"{a} + {b} = {a + b}")

6. 실전 미니 프로젝트 — BMI 계산기

# BMI = 체중(kg) / 키(m)²
print("=== BMI 계산기 ===")

name   = input("이름: ")
weight = float(input("체중 (kg): "))
height = float(input("키 (cm): "))

height_m = height / 100          # cm → m 변환
bmi = weight / (height_m ** 2)   # BMI 공식
bmi = round(bmi, 2)              # 소수점 2자리 반올림

print(f"\n{name}님의 BMI: {bmi}")

# round(숫자, 자릿수): 반올림 함수
print(round(3.14159, 2))  # → 3.14
print(round(3.567, 1))    # → 3.6

3강 핵심 요약

  • // 는 몫, % 는 나머지, ** 는 거듭제곱
  • / 는 항상 float 반환 — 정수 결과 원하면 // 사용
  • 비교 연산자는 True/False 반환 — = (대입)과 == (비교) 혼동 금지
  • and는 모두 True, or는 하나라도 True, not은 반전
  • input()은 항상 str 반환 → 숫자 계산 시 int()/float() 변환 필수
  • 다음 강: 조건문 — if/elif/else로 상황에 맞게 분기하기

관련 검색어  ·  파이썬연산자, 산술연산자, 비교연산자, 논리연산자, input함수, 파이썬입력, 대입연산자

댓글 0

채용정보
공지사항
인사이트
MY