::whle문 참고:: 점프 투 파이썬 : link
조건이 참
True
인 경우 계속 실행하는 반복문
while 반복문은 for 반복문 처럼 블럭안에 코드를 반복시키는 것이다.
사용법은 if 와 더 비슷하다.
selected = None # "selected에 아무 값도 들어 있지 않다."는 의미
while selected not in ['가위', '바위', '보']:
selected = input('가위, 바위, 보 중에 선택하세요>')
print('선택된 값은: ',selected)
python while_func.py
가위, 바위, 보 중에 선택하세요> 가
가위, 바위, 보 중에 선택하세요> 바
가위, 바위, 보 중에 선택하세요> 가위
선택된 값은: 가위
while문은 selected
변수의 값을 검사해서 [‘가위’, ‘바위’, ‘보’] 이 중에 값이 들어 있는지 확인한다.
그러나 not in
(그렇지 않으면) , input
입력을 받는다.
그러면 그 입력받은 값에 대해서 while문으로 다시 검사한다.
가
는 맞지 않은 값이므로 다시 input
입력을 받고 while문을 검사한다.
‘가위’를 입력하면 [‘가위’, ‘바위’, 보] 중에 값이 있으므로 while
문의 not in
은 틀린말이 된다.
그래서 while’문은 종료가 되고, 선택된 값은 가위
라고 print
된다.
while
문 대신에if
를 입력하면 어떤 값을 넣더라도 한번 실행되고 끝이난다.
selected = None
if selected not in ['가위', '바위', '보']:
selected = input('가위, 바위, 보 중에 선택하세요>')
print('선택된 값은: ',selected)
python while_func.py
가위, 바위, 보 중에 선택하세요>가
선택된 값은: 가
-
while문은 조건문을 확인해보고
False
(조건이 맞지 않으면) 실행하지 않는다. - if문 **과 **while문의 차이는 if’문은 조건문을 한번만 실행하고, while문은 조건이 맞는 한 조건문을 계속 실행한다.
- for문과 while문의 공통점은 block의 코드를 여러번 반복한다는 점
patterns = ['가위', '보', '보']
for pattern in patterns:
print(pattern)
python while_func.py
가위
보
보
for문 반복
patterns = ['가위', '보', '보']
for i in range(len(patterns)):
print(patterns[i])
python while_func.py
가위
보
보
while문 반복
patterns = ['가위', '보', '보']
length = len(patterns)
i = 0
while i < length:
print(patterns[i])
i = i + 1
i
가 length
(length가 3) 3
보다 작는 한, 계속 아래 블럭을 실행하게 된다.
patterns
list의 i
번째 값을 출력하고, i
값을 1
증가 시킨다. 그리고 증가를 계속 반복하게 된다.
그러다 length
보다 i
가 크거나 같은 순간이 오게 되면 while문은 더이상 실행되지 않는다.
python while_func.py
가위
보
보
- if문은 조건이 맞으면 한번만 실행 , while 반목문은 조건이 맞다면 계속 반복
- for 반복문으로 작성한 코드는 while 반복문으로 작성 할 수 있다.
- for와 while은 상황에 맞는 반복문을 사용할 것