IT/Python_학습

Python_6 _ 제어문(IF)

다자녀 이프로 2021. 9. 9. 22:49
반응형

안녕하세요.

 

다자녀이프로 입니다.

 

 

이번에는 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