6. 조건문

조건문은 프로그램의 흐름을 제어하고, 특정 조건이 충족될 때만 (조건이 참일때) 특정 코드가 실행되도록 합니다. 파이썬에서는 if, elif, else를 사용하여 조건문을 작성할 수 있습니다. 이 장에서는 조건문을 사용하는 방법을 배워보겠습니다.

6.1 if 문

if 문은 조건이 참일 때 특정 코드 블록을 실행하는 데 사용됩니다.

age = 18
if age >= 18:
  print("성인입니다.")

위 코드에서 age가 18 이상일 경우, “성인입니다.”라는 메시지가 출력됩니다.

6.1.1 들여쓰기

파이썬에서는 코드 블록을 구분할 때 들여쓰기를 사용합니다. 들여쓰기된 코드는 조건이 참일 때 실행됩니다. 파이썬에서는 들여쓰기가 매우 중요하므로 반드시 주의해서 작성해야 합니다.

age = 16
if age >= 18:
  print("성인입니다.") # 들여쓰기가 된 코드
print("이 문장은 항상 실행됩니다.")

위 코드에서 print("성인입니다.")는 조건이 참일 때만 실행되지만, 마지막 줄의 print("이 문장은 항상 실행됩니다.")는 조건과 관계없이 항상 실행됩니다.

6.2 if-else 문

if 문과 함께 else 문을 사용하면 조건이 거짓일 때 실행할 코드를 지정할 수 있습니다.

age = 16
if age >= 18:
  print("성인입니다.")
else:
  print("미성년자입니다.")

위 코드에서 age가 18 미만이므로 “미성년자입니다.”라는 메시지가 출력됩니다.

6.3 if-elif-else 문

if 문에 여러 조건을 추가하고 싶다면 elif 문을 사용할 수 있습니다. elif는 “그렇지 않다면, 또 다른 조건을 확인하라”는 의미입니다.

score = 85
if score >= 90:
  print("A 학점입니다.")
elif score >= 80:
  print("B 학점입니다.")
elif score >= 70:
  print("C 학점입니다.")
else:
  print("F 학점입니다.")

위 코드에서는 score가 85이므로 “B 학점입니다.”라는 메시지가 출력됩니다. 여기서 중요한 것은 제일 위에 있는 조건문부터 차례대로 코드가 실행된다는 겁니다. 유의하세요.

6.4 중첩 조건문

조건문은 다른 조건문 안에 중첩될 수 있습니다. 이를 통해 더 복잡한 조건을 처리할 수 있습니다.

age = 20
is_student = True

if age >= 18:
  if is_student:
    print("성인이며 학생입니다.")
  else:
    print("성인이며 학생이 아닙니다.")
else:
  print("미성년자입니다.")

위 코드에서는 age가 18 이상이고 is_studentTrue이므로 “성인이며 학생입니다.” 라는 메시지가 출력됩니다.

6.5 논리 연산자와 조건문

조건문에서 여러 조건을 결합하기 위해 and, or, not과 같은 논리 연산자를 사용할 수 있습니다.

  • and: 두 조건이 모두 참일 때만 참
  • or: 두 조건 중 하나라도 참이면 참
  • not: 조건의 반대값
age = 20
is_student = False

if age >= 18 and not is_student:
  print("성인이며 학생이 아닙니다.")

위 코드에서는 age가 18 이상이고 is_studentFalse이므로 “성인이며 학생이 아닙니다.”라는 메시지가 출력됩니다.

6.6 예제: 숫자 비교하기

사용자에게 숫자를 입력받아 양수, 음수, 또는 0인지 판단하는 프로그램을 작성해 보겠습니다.

number = int(input("숫자를 입력하세요: "))

if number > 0:
  print("양수입니다.")
elif number < 0:
  print("음수입니다.")
else:
  print("0 입니다.")

사용자가 입력한 숫자가 양수, 음수, 또는 0인지에 따라 다른 메시지가 출력됩니다.

6.7 요약

  • if 문을 사용하여 조건이 참일 때만 특정 코드를 실행할 수 있습니다.
  • if-else 문을 사용하여 조건이 거짓일 때 실행할 코드를 지정할 수 있습니다.
  • if-elif-else 문을 사용하여 여러 조건을 처리할 수 있습니다.
  • 중첩 조건문과 논리 연산자를 사용하여 복잡한 조건을 처리할 수 있습니다.

이제 조건문을 통해 프로그램의 흐름을 제어할 수 있게 되었습니다. 다음 챕터에서는 반복문을 사용하여 코드를 반복 실행하는 방법을 배워보겠습니다.