안녕하세요.
다자녀이프로 입니다.
이번에는 IF 문으로 왔습니다.! 드디어 이제 조금 프로그래밍에 가까워지고 있습니다!! ㅎㅎ

자 그럼 IF 문이 무엇이냐?
제가 뭐라그랬죠?! 모르면 한자나 영어 의미를 보면 된다고 했죠!?
구글 형님에게 검색하니 만약이라고 하네요. 만약?

옆에보니 다이어그램이 있네요 ~ 다이어그램 어릴때 배운거 기억나시나요 ~ ?
조건이 만족하면 내려가고 아니면 옆으로 가고 그러다가 나중에 조건에 만족 못하면 다시 위로 올라가고..

자 그럼 IF문 왜 필요하냐.. 라고 하기전에 뭐 다들 예상하실텐데요.
그래도 설명 간단히 한번 해보자면 게임으로 예를 들어볼게요.
여러분이 몬스터를 잡는다고 쳤을때 몬스터의 체력을 다 깍으면
Y = 몬스터 죽음 & 경험치 획득 & 아이템 획득
N = 몬스터가 유저 공격
뭐 이런식으로 되겠죠!?
자 그럼 이걸 간단한 예로 보여드릴게요.
monster = 100 #몬스터 체력
userpow = 10 # 유저 공격력
userexp = 0 # 유저 경험치
count = 1 # 유저 도전 횟수
while 1:
if monster <= userpow:
userexp = userexp + 10 # 유저 경험치
print(str(count) + '차 공격 \n 몬스터 처지!')
print('몬스터 체력 : ' + str(monster))
print('누적 데미지 : ' + str(userpow))
print('획득 경험치 : ' + str(userexp))
break
else:
print(str(count) + '차 공격')
print('몬스터 체력 : ' + str(monster))
print('누적 데미지 : ' + str(userpow))
print('')
userpow = userpow + 10
count = count + 1 # 유저 도전 횟수
길이만 길어졌지 하나도 어려운건 없어요.
먼저 몬스터 체력을 100이라고 가정하고 유저 공격력은 10이라고 할게요.
그럼 몬스터를 10번 때려야 잡을 수 있겠죠!?
여기서 두가지 방법이 있는데 몬스터 체력을 실시간으로 떨어트려주는 방법과 데미지를 누적해서 죽이는 방법인데요.
사실 두가지를 적절히 섞으면 더 좋지만 저는 일단 더 길어지지 않게 데미지만 누적되는 방식으로 했어요.
그럼 일단 while 문으로 종료되지 않도록 설정해 준 다음에 (와일문은 다음에 다시 할게요.)
if문으로 횟수별로 지속해서 데미지를 누적해줍니다.
그리고 누적 데미지가 몬스터 체력과 같거나 넘는 순간 경험치 10을 획득하게 됩니다.
별로 어렵지 않죠?
어렵지 않지만 if문을 잘 사용하기 위해서 알아야할 것이 몇가지 있는데요.
비교연산자와 논리연산자입니다.
바로 표로 보여드릴게요.
※비교연산자

※논리연산자

자 여기까지 어렵지 않죠?
특히 처음에는 비교 연산자가 헷갈려 하시는 분들이 많은데요.
좁은 방향이 작은거고 벌려지는 방향이 큰거라고 생각하시면 쉬워요.
그럼 다음에 while 문으로 돌아올게요 ~~
'IT > Python_학습' 카테고리의 다른 글
Python_8 _ 제어문(for) (0) | 2021.09.15 |
---|---|
Python_7 _ 제어문(While) (0) | 2021.09.14 |
Python_5 _ 변수 (0) | 2021.09.09 |
Python_4 _ 자료형 [튜플] (0) | 2021.09.09 |
Python_3 _ 자료형 [리스트] (0) | 2021.09.07 |