반복문

나의 해석

해당 답이 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이 되었다고 바로 끝나는 것이 아님

리스트반복 (.pop함수)

pop함수란 ?

list.pop 리스트안에 있는 데이터를 넣을수도 꺼낼 수도 참조를 할 수도 있음(맨끝에 있는 요소를 꺼내오는 것)

kidlist = ['짱구','단비' ,'수지','유리','철수']

while kidlist:
    kid = kidlist.pop()         
    print(kid,':집으로 출발')   

print('남은 학생이 없습니다')
print(kidlist)

kid = kidlist.pop() ['짱구','단비' ,'수지','유리','철수'] 의 철수부터 짱구까지 하나씩 꺼내오기
print(kid,':집으로 출발 ') kid에 철수가 추출됨
이렇게 반복 후 짱구까지해서 추출할 데이터가 없으면 False로 반복종료

정해진 개수만큼 입력받아서 리스트에 추가하기(append)

원하는 수 만큼 데이터를 입력 받을 수 있고, 입력 받은 뒤 한곳에 모아줌

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)는 데이터를 받아서 저장할 때 요긴하게 쓸 수 있을 것 같다

반복종료 break

조건을 잘못 설정하면 무한반복되어서 멈출 수 없이 계속 실행될 때도 있다. 그 때 필요한 변수이다

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 에 넣을 조건이 애매하면 True를 넣어도 됨

while 는 참값이 되어야 계속 반복실행하는 문이므로
while True: 로 시작해도 된다
대신 break 적절히 써줄 것

0개의 댓글