반복해서 문장을 수행해야 할 경우, while문을 사용한다 그래서 while문을 반복문이라고 부른다잇!
while문의 기본 구조는
while 조건문 :
문장
문장
...
10초뒤 폭탄이 터진다고 하면
bomb = 10
while bomb > 0 :
print('폭탄이 %s초뒤 터짐' %bomb)
bomb = bomb-1
if bomb == 0 :
print('펑')
이렇게 쓸 수 있다.
결과는
폭탄이 10초뒤 터짐
...
폭탄이 1초뒤터짐
펑
이렇게 나옴
뒤에 : 쓰는 게 가장 적응 안되네 ㅋㅋ;;
여러가지 선택지 중 하나를 선택해서 입력받는 예제를 만들어 보자
prompt = """
enter number :
"""
문자열 때 배운 """ """ 사용이다
number에 0을 대입 한 후
number=0
while number !=4 :
print(prompt)
number=int(input())
을 하면 4를 입력할 때 까지 계속 while문이 실행된다
int(input())은 사용자의 숫자를 입력 받는 거라고 알고 있자
if문을 쓰며 언급한 break를 사용한다
스타크래프트에서 유닛을 생산하기 위해 미네랄을 캐는데, 미네랄이 부족하면
"not enough minerals가 뜬다" 그걸 띄어보겠다
mineral = 100
army = 50
while army :
print("병력생산중입니다")
mineral -= 8
if mineral<8 :
print("not enough minerals")
break
army는 현재 내 인구수고 미네랄은 100이 있다.
커멘터센터에서 scv를 뽑고, scv하나당 미네랄이 8씩 소모된다면
13번째 scv를 생산할 때 not enough minerals가 뜬다
만약 break가 안되면 계속 무한루프가 돈다
인간은 누구나 회귀본능이 있다
그리고 기본, 근본, 처음이 가장 중요한 만큼 누구나 다시 처음으로 돌아가고 싶을 때가 있지 않은가?
그럴 때 사용하는 것이 continue문이다
a=0
while a<10 :
a+=1
if a%2==0 :
print(a)
2,4,6...
a=0
while a<10 :
a+=1
if a%2==0 : continue
print(a)
1,3,5...
첫 번째 while문과 두 번째의 차이는 continue유무와 print(a)의 들여쓰기 수준이다
첫 번째 while문은 while문 안에 if문이 있고 print(a)가 if문에 종속된다
a=1이되고 1/2의 나머지는 0이 아니므로 print하지 않고 a=2가 됨
그래서 a는 2,4, ... 이렇게 짝수가 나오게 된다
두 번째 while문은 print(a)도 while문에 종속되는데
a/2의 나머지가 0일 경우, 다시 while문으로 돌아가라는 의미가 되기 때문에 홀수들을 출력한다
continue 하나로 정답이 이렇게 바뀌었다
그리고 continue가 없는 첫 번째 while문은 a/2의 나머지가 0일 경우 a를 출력하는 것이기 때문에,
print(a)가 if에 종속된다
다음은 for문 ㄱㄱ