[Python] 기초 개념: 조건문

프로그래밍의 개념무언가 판단하려면 조건문을 써야 합니다.

프로그램은 다양한 조건에 따라 다른 행동을 해야 합니다. 조건문이 없는 프로그램은 판단을 할 수 없습니다.

조건문(Conditional Statements)

  • 프로그램은 정해진 규칙에 따라 움직입니다. 그것이 가능하려면 판단을 할 수 있어야 합니다.
  • 사람은 추상적인 규칙에 따라서도 적절하게 판단할 수 있습니다.
    • 사람은 이메일의 제목을 보면 높은 확률로 그것이 스팸 메일인지 아닌지 알 수 있습니다.
  • 하지만, 프로그램은 어떤 메일이 스팸메일인지 아닌지 파악하려면 구체적인 조건이 있어야 합니다.
    • 예를 들어, 제목에 ‘광고’라는 단어가 있는 경우, 제목의 글자수가 30글자가 넘는 경우 처럼 구체적인 기준에 부합하는지에 따라 스팸메일인지 아닌지를 판단하게 됩니다.

물론, 최근에는 기계학습을 통해 규칙이 없는 경우에도 스팸메일을 걸러낼 수 있지만, 그러기 위해서는 많은 양의 데이터가 필요합니다.

프로그램에서 사용하는 조건의 유형

  • 프로그램에서 자주 사용하는 조건은 2가지 입니다.
    1. 어떤 변수 A의 값이 다른 변수 B의 값보다 크다/작다/같다.
    2. 어떤 변수 A의 값이 다른 변수 B에 포함되어 있다/포함되어 있지 않다.
  • 조건문에서 비교하는 것은 변수의 값입니다.
  • 파이썬에서 조건문은 if(만약), else(아니면), elif 명령어로 작성합니다.
    • elif는 ‘else if’를 줄인 것으로 이해하면 됩니다.
# 만약 a가 b보다 크면
if a > b:  
  print("a가 b보다 큽니다")
# 아니면 a가 b보다 작으면
elif a < b:
  print("b가 a보다 큽니다")
# 아니면
else:
  print("a와 b는 같습니다.")
  • 크기를 비교할 수 없는 경우에는 포함되어 있는지를 기준으로 판단합니다.
big_city = ['서울', '인천', '대전', '광주', '부산', '대구', '울산']
city1 = '대전'
city2 = '세종'

if city1 in big_city:
  print(city1+'은 큰 도시입니다.')
else:
  print(city1+'은 큰 도시가 아닙니다.')

if city2 in big_city:
  print(city2+'은 큰 도시입니다.')
else:
  print(city2+'은 큰 도시가 아닙니다.')
  • 프로그래머에게 중요한 능력 중 하나는 조건문을 만들어내는 능력입니다.
    • 내가 해결하고 싶은 문제의 본질을 파악해서 프로그램이 가능한 조건문을 만들어내야만 프로그래밍이 가능합니다.
    • ‘배가 고플 때마다’ 나에게 메뉴를 추천해주는 프로그램은 만들 수 없습니다. 배가 고픈지 아닌지를 판단할 조건문을 만들 수가 없기 때문입니다.
    • 대신, 낮 1시가 되면 점심메뉴를 추천해주는 프로그램은 만들 수 있습니다. 지금 시간을 저장한 변수의 값이 13:00과 같은지를 판단하는 조건문은 쉽게 만들 수 있기 때문입니다.
  • 즉, 프로그램으로 해결이 가능한 문제인지 아닌지는 내가 조건문을 만들 수 있는지 아닌지에 달려있습니다.
    • 유능한 프로그래머는 창의적인 아이디어로 적절한 조건문을 만들어내는 사람이라고도 할 수 있습니다.

위 프로그램들을 실행해보려면 아래 파일을 Google Colab 사이트에서 불러오면 됩니다.

Python_Basic_Condition.ipynb