07 Sep 2017 » python

2017-09-07-python_2

if 문에 대해 알아 보자.

아래 코드를 리뷰해보자.

In [1]:
# -*- coding: utf-8 -*-

people = 20
cats = 30
dogs = 15


if people < cats:
    print("고양이가 너무 많아요! 세상은 멸망합니다!")

if people > cats:
    print("고양이가 많지 않아요! 세상은 지속됩니다!")

if people < dogs:
    print("세상은 침에 젖습니다!")

if people > dogs:
    print("세상은 말랐습니다!")


dogs += 5

if people >= dogs:
    print("사람은 개보다 많거나 같습니다.")

if people <= dogs:
    print("사람은 개보다 적거나 같습니다.")

if people == dogs:
    print("사람은 개입니다.")
고양이가 너무 많아요! 세상은 멸망합니다!
세상은 말랐습니다!
사람은 개보다 많거나 같습니다.
사람은 개보다 적거나 같습니다.
사람은 개입니다.

if문에서 True 인 것만 출력된 것을 확인할 수 있다.

참고

  • 파이썬에서 들여쓰기는 스페이스바 공백 4칸(탭을 누르면 자동으로 4칸 공백으로 들여쓰기가 된다.)

else와 if 문에 대해서도 알아 보자.

아래 코드를 리뷰해보자.

In [2]:
# -*- coding: utf-8 -*-

people = 30
cars = 40
buses = 15


if cars > people:
    print("차를 타야 해요.")
elif cars < people:
    print("차를 안 타야 해요.")
else:
    print("결정할 수 없어요.")

if buses > cars:
    print("버스가 너무 많아요.")
elif buses < cars:
    print("버스를 탈 수도 있어요.")
else:
    print("아직도 결정할 수 없어요.")

if people > buses:
    print("좋아요 버스를 탑시다.")
else:
    print("좋아요 그럼 집에 있죠.")
차를 타야 해요.
버스를 탈 수도 있어요.
좋아요 버스를 탑시다.
In [ ]:
elif

if문의 조건과 안 겹치는 다른 블록의 조건을 넣을 때

여러 elif 블록이 True일 경우

  • 맨 위부터 시작해 처음으로 True인 블록을 실행한다.
  • 그 중에서도 첫 블록만 실행하고 그 조건의 결과만 수행하므로 잘 판단해야한다.!

간단한 게임을 만들어보고 실행해보자.

In [3]:
# -*- coding: utf-8 -*-

try:
    input = raw_input
except NameError:
    pass

print("문이 두 개 있는 어두운 방에 들어왔습니다. 1번과 2번 중 어느 방으로 들어갈까요?")

door = input(">")

if door == "1":
    print("거대 곰이 치즈 케이크를 먹고 있습니다. 무엇을 할까요?")
    print("1. 케이크를 뺏는다.")
    print("2. 곰에게 소리를 지른다.")

    bear = input(">")

    if bear == "1":
        print("곰이 당신의 머리를 먹어치웁니다. 잘했어요!")
    elif bear == "2":
        print("곰이 당신의 다리를 먹어치웁니다. 잘했어요!")
    else:
        print("음, {} 행동을 하는 것이 더 나았나 보네요. 곰이 도망갑니다.".format(bear))

elif door == "2":
    print("당신은 크룰루 눈동자의 끝없는 심연을 쳐다봅니다.")
    print("1. 블루베리.")
    print("2. 노란 재킷 빨래집게.")
    print("3. 권총이 울부짖는 가락 이해하기.")

    insanity = input(">")

    if insanity == "1" or insanity == "2":
        print("당신의 육체는 젤리푸딩의 마음의 힘으로 살아남습니다. 잘했어요!")
    else:
        print("광기가 당신의 눈을 썩어 문드러진 시궁창으로 만듭니다. 잘했어요!")

else:
    print("비틀거리다 발을 헛디뎌 칼날로 떨어져 죽습니다. 잘했어요!")
문이 두 개 있는 어두운 방에 들어왔습니다. 1번과 2번 중 어느 방으로 들어갈까요?
>2
당신은 크룰루 눈동자의 끝없는 심연을 쳐다봅니다.
1. 블루베리.
2. 노란 재킷 빨래집게.
3. 권총이 울부짖는 가락 이해하기.
>1
당신의 육체는 젤리푸딩의 마음의 힘으로 살아남습니다. 잘했어요!

if문을 사용하면 간단한 결정하기 게임을 만들 수 있다.


if / elif / else v.s if / else

  • if / elif / else

    처음 나오는 거짓을 찾는다.

  • if / else

    모든 if / else 조합을 다 검사한다.


Reference

  • 깐깐하게 배우는 파이썬


Related Posts