본문 바로가기
프로그래밍 언어/Python 파이썬

[Python] 프로그래밍에서 조건문 if 란 무엇? | 파이썬에서 사용하는 if elif else 조건문을 사용해보자

by 지구인한군 2021. 6. 5.

 프로그래밍에서 가장 중요한 행위(행동)가 무엇인지 물으신다면, 개인적인 의견으로 조건문 즉 if 절이라고 생각합니다. 왜냐하면 어떤 조건(상황)을 if 키워드로 체크하고, 그 결과에 따라 여러 분기 처리가 나눠지기 때문입니다. 내가 만약...

 

[Python] 프로그래밍에서 데이터 객체(object)란 무엇? | 파이썬 딕셔너리(dictionary) 기능을 사용해보자

 

오늘 실습은 지난 시간 복습을 겸해 위 링크의 코드를 재활용할 것이니 한번 훑어보고 오시면 좋습니다.

 


 잠깐 딴 소리를 하자면, 인간에 있어서도 선택과 결정이란 인생에 중요한 요소(지표)로 작용합니다. 기계나 프로그램도 비슷하게 어떠한 조건에서 선택을 한다는 것은 엄청난 결과로 이어집니다. 그럼 저희도 쫄지 말고 선택 장애 극복!?

 

alien_name = 'ET'

if alien_name == 'et':
    print('외계인의 이름은 et 입니다')
else:
    print('외계인의 이름은 ET 입니다')

jiguin = {'name': 'han', 'age': 18}
jiguin_name = ''

if jiguin['name'] == 'Han':
    jiguin_name = jiguin['name']
elif jiguin['name'].title() == 'Han':
    jiguin_name = jiguin['name'].title()
else:
    jiguin_name = '???'

print('지구인의 이름은 ' + jiguin_name + '입니다')

 

  • if 키워드를 넣고 == 부호로 조건식을 넣은 다음 콜론(:)으로 마무리
  • elif는 또 다른 조건식을 넣어야 할 경우 if 사용법과 마찬가지로 사용
  • elseif 또는 elif 조건식이 모두 맞지 않으면 마지막으로 이쪽으로 통과
  • if-elif-else 조건문 콜론(:) 다음 밑에 줄에는 꼭 들여 쓰기(TAB공간) 할 것

 외계인의 이름은 ET입니다. 근데 if 조건문으로 비교를 할 때는 et 소문자를 사용해서, 결국 if 쪽이 아닌 else 쪽이 실행이 됐습니다. 다음은 jiguin이라는 객체(딕셔너리)가 있습니다. 이름은 한(han)이고 나이는 18살이군요. 이번에는 if와 elif를 사용해 두 번 조건식을 넣었습니다. title() 함수는 앞글자를 대문자로 바꿔주는 함수이니 어떤 쪽이 실행될까요?

 

jiguin = {'name': '한군', 'age': 18}
jiguin['blood'] = 'O'
jiguin['power'] = 100
jiguin['alive'] = True

alien = {}
alien['name'] = '경호쌤'
alien['age'] = 1000
alien['blood'] = 'C'
alien['power'] = 200
alien['alive'] = True

if jiguin['age'] < 19:
    print(jiguin['name'] + '은 미성년자 입니다')

if alien['age'] >= 99:
    print(alien['name'] + '은 할아버지 입니다')

if jiguin['blood'] != 'C':
    print('혈액형은 ' + jiguin['blood'] + '형이고 C형이 아니어서 지구인입니다')

 

 지난 포스팅에서 했던 지구인과 외계인 데이터가 있습니다. 숫자로 된 나이 변수를 부등호 비교 연산자로 조건식에 사용했습니다. 수학에서 사용하는 그 부등호 맞습니다. 총 4가지 < , > <= , >=입니다. 그리고 마지막 혈액형을 비교할 때 쓰인 수식은 != 같지 않다 라는 표현입니다. == 같다(긍정) != 같지 않다(부정)이니 헷갈리시면 안 됩니다~!

 

jiguin = {'name': '한군', 'age': 18}
jiguin['blood'] = 'O'
jiguin['power'] = 100
jiguin['alive'] = True

alien = {}
alien['name'] = '경호쌤'
alien['age'] = 1000
alien['blood'] = 'C'
alien['power'] = 200
alien['alive'] = True

test_age = jiguin['age']
test_blood = jiguin['blood']

if test_age < 1000 or test_blood != 'C':
    print('당신은 지구인입니다!')
else:
    print('당신은 외계인입니다!')

test_age = alien['age'] - 100
test_blood = alien['blood']

if test_age < 1000 or test_blood != 'C':
    print('당신은 지구인입니다!')
else:
    print('당신은 외계인입니다!')

if test_age < 1000 and test_blood != 'C':
    print('당신은 지구인입니다!')
else:
    print('당신은 외계인입니다!')

 

 이번에는 지구인 또는 외계인을 테스트하는 코드입니다. 논리 연산자라는 넘을 사용 했는데 조금 어려울 수 있으니 집중! 집중! 먼저 테스트 변수에 나이와 혈액형을 넣고 비교를 합니다. 첫 번째는 or 연산자로 둘 중에 하나만 조건이 성립해도 통과입니다. 즉 나이가 1000살 미만이거나 또는 혈액형이 C형이 아니면 지구인입니다.

 

아니 근데 외계인이 안티에이징 꼼수를 써서 나이를 100살이나 줄였습니다!민증위조 그래서 똑같은 or 연산자로 비교를 할 경우 test_age < 1000 조건이 성립해서 지구인으로 판별이 났습니다... 그래서 and 연산자라는 두 조건이 모두 만족해야 통과가 되는! 즉, 1000살 미만이면서 또한 혈액형이 C형이 아니어야만 지구인입니다. 역시 피는 못 속입니다요ㅋ

 

jiguin = {
    'name': '한군',
    'power' : 100,
    'alive' : True
}

alien = {
    'name': '경호쌤',
    'power' : 200,
    'alive' : True
}

if jiguin['power'] > alien['power']:
    print( jiguin['name'] + ' 파워가 더 강력합니다')
elif jiguin['power'] < alien['power']:
    print( alien['name'] + ' 파워가 더 강력합니다')
else:
    print('지구인과 외계인 파워가 같습니다')

jiguin['health'] = 1000
alien['health'] = 1000

alien['health'] = alien['health'] - jiguin['power']
jiguin['health'] = jiguin['health'] - alien['power'] * 4

health_name = jiguin['name']
health_check = jiguin['health']
health_state = ''

if health_check <= 200 :
    health_state = '저승길이 보입니다'
elif health_check <= 400 :
    health_state = '아직 버틸만...'
elif health_check <= 600 :
    health_state = '아직 멀쩡합니다'
elif health_check <= 800 :
    health_state = '쌩쌩 합니다'

print(health_name + '은 현재 체력 ' + str(health_check) + '\n' + health_state )

elf = {
    'name': '아이유',
    'power' : 9999,
    'boyf' : '한ㄱ'
}

jiguin['health'] += elf['power']
alien['health'] -= elf['power']

health_name = alien['name']
health_check = alien['health']
alive_check = alien['alive']

if health_check <= 0 :
    health_state = '요단강을 걷넜습니다'
    alive_check = False
    
print(health_name + '은 현재 체력 ' + str(health_check) + '\n' + health_state )

if alive_check == True :
    print('ALIVE')
elif alive_check == False :
    print('RIP')

alive_check = jiguin['alive']

if alive_check :
    print(jiguin['name'] + '♡' + elf['name'] +'와 함께...')
else:
    print('naver die')

 

 코드가 길어 보이지만 반은 쓸데없는 print이니 신경 쓰지 마시고 if-elif-else 문법에 주목하시면 됩니다. 첫 번째 조건문은 지구인과 외계인의 파워를 비교했습니다. 그 파워를 기준으로 외계인이 곱하기 4 스킬을 사용하고 지구인을 공격하여 체력을 줄였습니다. 두 번째 조건문은 마지막에 else를 사용하지 않고 elif를 3개 연달아서 달아봤습니다.

 

아이유라는 엘프가 다가와 한군을 도와줬습니다. a += b , a -= b 수식은 a = a + b , a = a - b의 축약형 문법입니다. 마지막으로 현재 체력 상태를 확인하여 생존 여부를 판단했습니다. if alive_check 문법은 if alive_check == True 문법과 같습니다. True(참) , False(거짓)을 나타내는 블리언 변수는 저런 형태로도 사용이 가능합니다.

 

오늘은 내용이 길었으니 맺음말은 간단히 하겠습니다.
두번 보셔요!

 


[Python] 프로그래밍에서 반복문 for 란 무엇? | 파이썬에서 사용하는 for 그리고 in 반복문을 사용해보자

댓글