TIL : Python - Loops and Iterations - For/While Loops

Jade J·2021년 1월 27일

TIL == "Today I Learned"

목록 보기
3/12

Loops and Iterations - For/While Loops

break & continue💥

num_list = [1,2,3,4,5]

for num in num_list:
	if num == 3:
    		print('found!')
    		break
        print(num)
    
# 1
# 2
# found!

위의 코드를 보면, 출력값이 마치 1,2,3, 그리고 found! 일 것 같지 않은가? num 이 3이되면 멈추고 found! 를 출력하고 break 하라고 보인다.

그런데 잘 생각해보면, num 이 3이 되면(if) found! 를 출력 한 뒤에서야 num 이 출력된다.

1,2 일때는 if num==3 이 충족되지 않으므로, found! 가 출력되지않고
if 문을 나가서 print(num)이 그대로 실행되었다.

그래서 1,2, found! 까지만 출력이 된다. 3번째 print(num) 이 실행되지 않았다.

num_list = [1,2,3,4,5]

for num in num_list:
	if num == 3:
    		print('found!')
    		continue
        print(num)
    
# 1
# 2
# found!
# 4
# 5

같은 코드를 break -> continue 로 변경하였다.

차이점은 무엇일까?

1,2 까지 출력되고, 3 일때는 if를 충족하므로 found!가 프린트된다.

print(num)을 실행하지않고, 바로 다음 interaion 인 for로 나와버렸다!


for & while 💫

파이썬도 다른 언어와 비슷하게 for 과 while 로 반복문을 작성한다.
for 은 범위를 지정하기 위해 in range() 와 으레 함께 쓴다.

for i in range(1,11)
	print(i)
    
# 1~10까지 출력된다.

range() 도 메소드이다.
range( 첫번째인자는 시작값이다, 두번째인자는 이 미만까지.)

while 은 뒤에오는 조건을 만족할경우 실행한다. True 로 설정시 loop 안의 내용을 무조건 실행한다.

n=0
while True:
	print(n)
    	n += 1
# 0부터 무한루프. ctrl+c 로 break.

nested loops👌

nums=[1,2,3,4,5]

for num in nums:
	for letter in 'abc':
    		print(num, letter)
            
# 1a / 1b/ 1c
# 2a / 2b/ 2c

nested loops 는 주의해서 봐야한다.
먼저 바깥쪽 loop에서 첫번째 원소가 걸리면, 안쪽의 loop 가 다 돌아야지, 다시 바깥쪽의 loop 가 진행된다.

profile
개발의 길을 걷자

0개의 댓글