2022. 08. 04(목) Python 공부 9일차

Dylan·2022년 8월 4일
0
post-thumbnail

반복문(while) 활용하기

loop(반복문)

  • 반복적인 작업을 가능하게 해주는 도구
  • 특정 조건을 만족하는 경우 수행할 수 있음(while)
  • 리스트, 문자열, 튜플 등 컬렉션 타입의 아이템을 하나씩 순회하면서 사용 가능 (for)
  • 코드 작업에서, 가장 많이 사용하는 구문 중 하나
  • 주의할점: while을 사용할 경우, 반복을 멈추게 하는 장치가 필요
    • 그렇지 않으면 셀이 무한히 수행되며, jupyter notebook의 재부팅이 필요

while 키워드

  • while 뒤의 조건이 True일 경우, while 코드 블록을 계속 수행
  • while 코드 블록
    • if와 마찬가지로 while문 아래의 들여쓰기로 작성 된 부분을 의미
  • 조건이 False가 되면 블록 수행을 멈추고 이후 코드를 수행

while 키워드 이용하여 리스트의 아이템 출력하기

	a = [1, 10, 9, 24, 566, 23, 45, 67, 89]
    i = 0 # 인덱스
    
    while i < len(a):
    	print(a[i])		# 1 10 9 24 566 23 45 67 89
        i += 1
    
    
  • 조건문과 함께 사용하기
	a = [1, 10, 9, 24, 566, 23, 45, 67, 89]
    i = 0 # 인덱스
    
    while i < len(a):
    	if a[i] > 20:
        	print(a[i])		# 24 566 23 45 67 89
        i += 1

무한 루프

  • while의 경우 종료가 되지 않도록 코드를 작성하면 블록에서 빠져나올 수 없음
	while True: # 무한 루프
    	print('haha')	

break

  • loop를 중단할 때 사용
  • 보통 조건문 안에서 수행되며, 조건을 만족하는 경우 loop를 탈출하기 위해 사용
  • loop를 중단 하는 경우, while 이후의 코드를 수행
	a = [1, 10, 9, 24, 566, 23, 45, 67, 89]
    
    i = 0
    while i < len(a):
        if a[i] > 20:
        	break
        print(a[i])		# 1 10 9
        i += 1

continue

  • break 처럼 반복을 중단하여 빠져나오진 않고, 다시 while 조건으로 점프함
  • 특정한 경우에는 코드를 수행하지 않고 다음으로 건너 뛰기 위해 사용
	a = 7
    while a > 0;
    	a -= 1
        if a == 5:
        	continue
        print(a)	# 6 4 3 2 1

반복문(for) 활용하기

  • 리스트, 문자열 등등 순회 가능한 객체를 순회하면서 값을 처리할 때 사용
  • 아래와 같은 문법으로 사용
  • 여기서 i는 매번 수행 될 때마다, a의 아이템으로 순차적으로 변경 됨
  • 모든 아이템이 순회되면 for 블록 종료
	a = [1, 2, 3, 4, 5]
    for i in a:
    	print (i, i * 2)
        
    
    1 2
    2 4
    4 8
    3 6
    5 10

문자열의 아이템 출력하기

  • 문자열의 경우 순회 가능, 리스트의 유사하게 순회 가능
	a = 'hello world'
    for character in a:
    	print(character)

리스트 아이템 출력하기

	a = [1, 10, 3, 4, 5]
    for num in a:
    	if num % 2 == 0:
        	print(num/2)
        else:
        	print(num+1)
            
    
    2
    5.0
    4
    2.0
    6

dict의 아이템 출력하기

  • dictionary의 경우 기본적으로 순회 하게 되면 key값을 참조
  • keys() 함수를 이용하여 key 값만 순회 가능
  • values() 함수를 이용하여 value 값만 순회 가능
  • items() 함수를 이용하여 tuple형태로 key, value 순회 가능
	a = {'korea' : 'seoul', 'japan' : 'tokyo', 'canada' : 'ottawa'}
    for key in a:
    	print(key)
    korea
    japan
    canada
    
    for value in a.values():
    	print(value)
        
    seoul
    tokyo
    ottawa
    
    for key, value in a.items():
    	print(key, value)
        
    korea seoul
    japan tokyo
    canada ottawa

for에서 index 사용하기

  • 기본적으로 for에 리스트를 순회하는 경우, 값만 추출 함
  • 아래와 같은 코드로 인덱스와 값 모두 사용 가능(enumerate 함수 이용)
	a = [1, 2, 3, 4, 5]
    for index, num in enumerate(a):
    	print(index, num)
        
        
    0 1
    1 2
    2 3
    3 4 
    4 5
    

break

  • for의 경우에도 특정 조건일 때, loop 종료가 가능
	a = [100, 90, 80, 70, 60, 50]
    for num in a:
    	if num < 80:
        	break
        print(num)
        
    100 
    90
    80

continue

  • 해당 아이템을 건너 뛰고 싶을 때 사용
	a = [100, 90, 80, 70, 60, 50]
    for num in a:
    	if num >= 60 and num <= 70:
        	continue
        print(num)	
        
    100
    90
    80
    50

loop 중첩

  • 반복문의 경우에도 중첩하여 사용 가능
  • 중첩이라는 것은 반복문 블록의 코드안에 또 반복문의 코드가 작성되는 것을 의미
  • 이런 경우, 내부 루프는 외부 루프가 수행되는 만큼 반복 수행 됨
  • 또한 중첩의 경우 무한히 가능
	a = [1, 2, 4]
    for i in a:
    	for j in a:
        	print (i * j)
            
    1
    2
    4
    2
    4
    8
    4
    8
    16

구구단 출력하기

	x = [2, 3, 4, 5, 6, 7, 8, 9]
    y = [1, 2, 3, 4, 5, 6, 7, 8, 9]
    
    for i in x:
    	for j in y:
        	print(i, 'x', j, '=', i+j)

collection의 길이

  • len() 내장함수로 계산 가능
  • 내장함수란 팡썬 내부에 구현되어 있어서, import하지 않고도 사용 가능한 함수를 의미
  • abs, len, type, range 등이 있음 (과정 진행하면서 필요할 때마다 다룰 예정)
	a = [1, 2 ,3, 4, 5, 1]
    len('hello world')
    11

range 함수

  • 리스트를 쉽게 만들 수 있는 내장함수
  • 주어진 값에 따라 다양한 결과를 반환
  • 1 ~ 100까지의 리스트 생성하기
	a = list(range(1, 101))
    
  • 연습문제 1부터 100사이의 5의 배수만을 갖는 리스트를 생성하시오
	list(range(1, 101, 5))

0개의 댓글