티스토리 뷰

Python/Function & Grammer

Python : for문

채애 2021. 1. 16. 20:30

▶ for문의 기본 구조

C언어, Java에서는 for문을 이런식으로 사용한다.

 for (int i=0; i<5; i++) {
	
 }

파이썬은 아예 다른 구조로 되어있다. 

 

파이썬의 반복문 for문 기본 구조는 이렇다.

 for 변수 in 리스트(또는 튜플, 문자열):
     수행할 문장1
     수행할 문장2
     ...

 


 for문에서의 range함수 사용

 range(시작 숫자, 끝 숫자)

시작 숫자 이상부터 끝 숫자 미만까지의 수를 포함하는 range 객체를 만드는 함수이다.

 

이 때, 조심해야 되는 부분은 '끝 숫자 미만' 인 것이다.

 

range(5)라고 하면 0 ≤      < 5 가 되는 것이다. ( 0,1,2,3,4 )

Java로 생각하자면 for ( int i=0; i<5; i++) 과 같다.

 

 

for문에서 range함수를 사용한 예시로, 1 ~ 5 까지 더하는 코드이다.

#range.py

>>> sum = 0
>>> for i in range(1, 6):
		sum = sum + i
    
>>> print(sum)


 #output
 15

1 ≤ i < 6 를 더한다고 생각할 수 있다.

 

 

 

 

range(시작 숫자, 끝 숫자, 간격)

이렇게 range( A , B , C ) 로 사용할 수도 있다.

range( A , B ) 만 알고 있다가 당황했다. 여기서 ' 간격 ' 은 시작 숫자 ~ 끝 숫자 까지에서 숫자 간의 간격을 정해줄 수 있다.

 

#range.py

>>> sum = 0
>>> for i in range(1, 6, 2):
		print(i)


 #output
 1
 3
 5

이렇게 사용할 수 있다. 참고!

 


기본적인 for문 사용

>>>  list = [ 'A', 'B', 'C' ]
>>>  for i in list:
  		  print(i)
          
 
 #output
 A
 B
 C

리스트의 첫 번째(A) 부터 마지막(C) 까지 차례로  for   in  사이의 변수 i에 대입되며 for문 안의 문장을 반복적으로 수행한다.

 

 

>>> list = [(3,5), ('abc','de'), (4,1)]
>>> for (front, back) in list:
  		print(front + back)
        
 #output
 8
 abcde
 5

 튜플 의 요소를 사용한 리스트이다.

▣ (3,5) (4,1) 은 숫자

 ('abc' , 'de') 는 문자열

 

 for   in  사이의 변수 (front, back) 또한 리스트의 요솟값과 같이 튜플형이다.

 

 print(front + back)

해당 출력 코드에서, 숫자의 튜플 요솟값끼리 값이 더해지고 문자열끼리는 이어서 출력된다.

 

 


이중 for문과 range 사용

#구구단
>>> for i in range(2, 10):
>>>    for j in range(1, 10):
	        print(i * j, end=" ")
>>>    print('')			# 두 번째 for문이 끝나면 수행 (enter)
    
    
 #output
 2 4 6 8 10 12 14 16 18 
 3 6 9 12 15 18 21 24 27 
 4 8 12 16 20 24 28 32 36 
 5 10 15 20 25 30 35 40 45 
 6 12 18 24 30 36 42 48 54 
 7 14 21 28 35 42 49 56 63 
 8 16 24 32 40 48 56 64 72 
 9 18 27 36 45 54 63 72 81 

첫 번째 for문에서 2 ≤ i < 10 까지의 숫자 ( 2 ~ 9 ) 가 i에 대입되고,

두 번째 for문에서 1 ≤ i < 10 까지의 숫자 ( 1 ~ 9 ) 가 j에 대입된다.

 

이중for문의 구동 방식은 C언어나 Java와 똑같다.

i에 range(2, 10)에서의 첫 번째 수가 대입되고, j의 range(1, 10)이 전부 반복되서야 i에 두 번째 수가 들어올 수 있다.

 

 i에 2 가 먼저 대입된 상태에서,  j에 1, 2, 3, ... , 9 까지 대입된다.

그렇게 되면, ( i = 2 ) * ( j = 1 ) 을 수행한다. 차례로 해당 i와 다음 j가 곱셈을 이어 한다.

 2*1 , 2*2 , 2*3 , 2*4 , ... , 2*9  와 같이 구구단의 2단을 만들 수 있다.

이후 i와 j의 증가가 반복되면서 구구단(9단)을 만들 수 있게 된다.

 

 

 


 

공부를 하며 for문에 대한 다른 것을 계속 추가할 예정이다.

'Python > Function & Grammer' 카테고리의 다른 글

Python : calendar - 달력 관련 라이브러리  (0) 2021.01.21
Python : String (문자열)  (0) 2021.01.19
Python : Number (숫자형)  (0) 2021.01.19
Python : 오류 예외처리 (try)  (0) 2021.01.17
Python : while문  (0) 2021.01.17
댓글