티스토리 뷰
▶ 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 |
- Total
- Today
- Yesterday
- 40회 SQLD
- SQLD40회
- 알고리즘
- 파이썬입출력
- Python
- python별찍기
- NaverCloudPlatform
- 파이썬sum
- SQLD
- BAEKJOON
- 백준 별찍기
- 백준
- 별 찍기
- 파이썬
- SQLD 2과목
- SUM함수
- f-string
- 네이버클라우드플랫폼
- 데이터 모델링
- 파이썬for문
- 백준별찍기
- python문법
- 데이터베이스
- SQLD1과목
- 파이썬문법
- 백준파이썬
- SQLD 1과목
- range함수
- 파이썬 입출력
- Unity GameObject 생성
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |