프로그래밍에서 가장 중요한 행위(행동)가 무엇인지 물으신다면, 개인적인 의견으로 조건문 즉 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 사용법과 마찬가지로 사용
- else는 if 또는 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 반복문을 사용해보자
댓글