해당 답이 bool type False가 나오기까지 값을 계속 추출하는 것 누적합계 또는 원하는 답이 나올 때 까지 계속 처음으로 되돌아갈 수 있다는 느낌
내가 알고있는 반복문은 일단
while , for 이 두가지가 있는데 오늘은 while만 한번 알아볼 것 이다
바로 코드해석부터 해보도록하자
num = 1 # 변수선언
while num < 15: # True값의 조건(조건이 애매하면 True 를 넣어도됨
num += 1 # 제어(이걸로 코드를 멈출 수 있음 (조건에 다다르게 만드는 제일중요한 것)
print('while)' , num)
while) 2 이렇게 표기된다.(num = 1 이지만 print가 되기전에 += 1 을 했기때문에 2부터 표기됨)
while) 3
while) 4
while) 5
while) 6
while) 7
while) 8
while) 9
while) 10
while) 11
while) 12
while) 13
while) 14
while) 15 num < 15 조건이 num이 15 이하일 때 (15여도 안 됨) True 15부터 False로 반복 끝
count = 2
while count :
count -= 1
print ('반복합니다')
print('반복 끝')
반복합니다
반복합니다
반복 끝
이렇게 표기된다
즉, 내가 쓴 걸 쭈욱 따라가보자
count = 2인데 -=1 이니까
일단 1에 print('반복합니다') 출력이 됨
그후1-1 = 0 print('반복합니다') 출력이 됨
후에 0은 False 값이기 때문에 그대로 반복종료
위에서부터 아래로 실행되는 걸 잘 생각하고 해석하자 count 의 값이 바로 0이 되었다고 바로 끝나는 것이 아님
list.pop 리스트안에 있는 데이터를 넣을수도 꺼낼 수도 참조를 할 수도 있음(맨끝에 있는 요소를 꺼내오는 것)
kidlist = ['짱구','단비' ,'수지','유리','철수']
while kidlist:
kid = kidlist.pop()
print(kid,':집으로 출발')
print('남은 학생이 없습니다')
print(kidlist)
kid = kidlist.pop() ['짱구','단비' ,'수지','유리','철수'] 의 철수부터 짱구까지 하나씩 꺼내오기
print(kid,':집으로 출발 ') kid에 철수가 추출됨
이렇게 반복 후 짱구까지해서 추출할 데이터가 없으면 False로 반복종료
원하는 수 만큼 데이터를 입력 받을 수 있고, 입력 받은 뒤 한곳에 모아줌
cnt = 5
datalist = []
while cnt:
cnt -= 1 # 숫자가 0 (False)이 안될 때까지 반복(언젠가 종료될 수 있게 설계)
data = input('입력 : ')
datalist.append(data)
# list.append(object) : object를 list 마지막에 추가
print(data + ' : 추가 완료')
print(datalist)
cnt = 5 (5회만큼 반복)
datalist = [] 여기안에 데이터가 추가되고 입력되는 걸 저장함
cnt -= 1 cnt가 5에서 점점 줄어들 수 있게 카운트 해주는 변수선언
data = input('입력 : ') 데이터를 받는 곳
datalist.append(data) -> data로 입력받은 걸 dtalist에 추가한다는 뜻
print(data +' : 추가완료') 추가되는 데이터 확인
print(datalist)
append(object)는 데이터를 받아서 저장할 때 요긴하게 쓸 수 있을 것 같다
조건을 잘못 설정하면 무한반복되어서 멈출 수 없이 계속 실행될 때도 있다. 그 때 필요한 변수이다
A = 1
while A :
print(A)
A += 1 여기까지만 써버리면 데이터가 계속 증가할것이다 1, 2,3,4,5,5,6 ... 이렇게..
if A == 100 여기서 A가 100이라는 데이터값이 추출되면 멈출 수 있게 해주는것임
break
break가 if 안에 들어있다해서 if에서 써지는 게 아니라 if를 제외한 while, for에 대해서 작동한다
그래서 while로 값을 계속 추출하다가 해당값이 되면, 반복을 중단하고 아래코드로 탈출한다
while 는 참값이 되어야 계속 반복실행하는 문이므로
while True:
로 시작해도 된다
대신 break 적절히 써줄 것