안녕하세요.
다자녀이프로 입니다.
이번에는 While문이 뭔지 알아보겠습니다.
자 그럼 While문이 무엇이냐?
자 이제 다 아시죠?! 모르면 한자나 영어 의미를 확인해보기?
구글 형님에게 검색하니 하는동안이라고 하네요.
이번에도 while 조건표가 있네요. 한번 볼까요?
while 조건이 만족하면 반복되고 만족하지 않으면 반복이 끝나게 됩니다.
[if 문의 반복이라고 볼 수도 있겠네요!]
자 그럼 while 문 왜 할까요?
저번 IF문때와 같이 이번에도 게임으로 예를 들어볼게요.
[게임 너무 좋아하나요!?^^;]
저번 IF 문에서 진행했던 코드로 다시 한번 볼게요. 코드 기억나시죠?
여러분이 몬스터를 잡는다고 쳤을때 몬스터의 체력을 다 깍으면
Y = 몬스터 죽음 & 경험치 획득 & 아이템 획득
N = 몬스터가 유저 공격
뭐 이런식으로 되겠죠!?
여기서 처음에 여러 변수를 만들어 준 후 IF문으로 조건을 지정했는데요.
코드가 한번 진행후에는 끝이나버립니다.
그럼 게임이 안되겠죠?
한번 공격하고 끝나는 게임이라면 아무도 하지 않을거예요.
그럼 계속해서 진행하도록 해줘야하는데요.
그때 while 문이 사용됩니다.
while문 안에 들어있는
'if monster <= userpow:' ~ 'count = count + 1 # 유저 도전 횟수'까지 모두 무한대로 반복이 되는데요.
[While 조건이 1 == True]
이때 while 반복을 멈추고 싶을때 사용하는 명령어가 break문 입니다.
아래 코드에서도 몬스터 처치후에 break문으로 종료가 되게 되는걸 확인하셨을거예요.
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 # 유저 도전 횟수
그럼 결과는 아래와 같이 나오게 되는 거구요.
뭐 어렵지 않으실거예요.
자 그럼 이제 새로운 조건으로 한번 만들어볼까요?
예를들어서 우리 학과 학생들이 모두 선물을 받으면 종료되는 코드를 한번 짜볼게요.
studnet = ('김','나','박','이','만세')
studnet_num = len(studnet)
check = 0
while check != studnet_num:
print(studnet[check] + ' 학생이 선물 받았습니다.')
check=check+1
자 먼저 튜플로 학생들의 명단을 하나 만들어 줍니다.
그 후에 현재 튜플내에 몇명의 학생들이 있는지 len 으로 확인해서 새로운 변수안에 저장해주구요.
그 다음 선물 받은 명수를 확인하기 위해 체크 변수를 선언해줍니다.
그 이후 while문을 선언해줄텐데 while 조건이 뭐였는지 기억하시나요?
'조건이 만족하면 반복되는 명령어!!' 라고 한거 기억하시죠?
그럼 조건이 만족할 수 있게 받은 명수와 학생들의 숫자가 같지 않으면으로 조건을 지정해줬습니다.
당연히 처음에는 두 수가 같지 않을테니 참이 되겠죠?
거기서 이제 '~학생이 선물을 받았습니다' 라고 출력해준뒤 체크에 1을 더해서 받은 명수를 확인합니다.
그럼 이제 받은 명수와 총 학생수가 같아지는 순간 while 조건이 만족하지 않게 되고
그 순간이 while문의 반복이 끝나는 순간이 되는 겁니다.
뭐 말은 길지만 어렵지는 않으시죠?
하나만 기억하시면 됩니다.
※while문은 조건이 만족하는 동안 계속 반복한다!
이거 하나면 오늘 충분히 공부하신거라고 봅니다 ㅎㅎ
다 그럼 저번에도 붙여넣었지만 헷갈리는 비교/논리 연산자를 밑에 덧붙이며 마무리할게요.
다음은 for 문으로 돌아올게요 ~~
※비교연산자
※논리연산자
'IT > Python_학습' 카테고리의 다른 글
Python_6 _ 제어문(IF) _ 추가 (0) | 2021.09.16 |
---|---|
Python_8 _ 제어문(for) (0) | 2021.09.15 |
Python_6 _ 제어문(IF) (0) | 2021.09.09 |
Python_5 _ 변수 (0) | 2021.09.09 |
Python_4 _ 자료형 [튜플] (0) | 2021.09.09 |