for 변수 in range(횟수):
반복할 코드
방식: range에서 in으로 숫자를 하나하나 꺼내서 반복
for는 숫자를 꺼낼 때마다 코드를 실행
↓
동작과정
for 변수 in range(시작, 끝, 증가폭): # 시작~(끝-1)까지 증가폭만큼 반복
반복할 코드
for 변수 in range(시작, 끝, 음수 증가폭): # 증가폭 만큼 시작~(끝+1)까지 감소
반복할 코드
# 1.
for 변수 in reversed(range(시작, 끝, 증가폭)): # 값이 뒤에서 부터 나옴.
반복할 코드
# 2.
for 변수 in reversed(range(횟수)):
반복할 코드
count=int(input('입력할 횟수를 입력하세요: '))
for i in range(count):
print('Hello, world', i)
for i in range(5): # 5번 반복. 바깥쪽 루프는 세로 방향
for j in range(5): # 5번 반복. 안쪽 루프는 가로 방향
print('j:', j, sep='', end=' ') # j값 출력. end에 ' '를 지정하여 줄바꿈 대신 한 칸 띄움
print('i:', i, '\\n', sep='') # i값 출력, 개행 문자 모양도 출력
# 가로 방향으로 숫자를 모두 출력한 뒤 다음 줄로 넘어감
# (print는 기본적으로 출력 후 다음 줄로 넘어감)
sep: ,(쉼표) 대체
end: 줄 바꿈 대체
↓ 실행 결과
for i in range(5): # 5번 반복. 바깥쪽 루프는 세로 방향
for j in range(5): # 5번 반복. 안쪽 루프는 가로 방향
print('*', end='') # 별 출력. end에 ''를 지정하여 줄바꿈을 하지 않음
print() # 가로 방향으로 별을 다 그린 뒤 다음 줄로 넘어감
# (print는 출력 후 기본적으로 다음 줄로 넘어감)
# 실행 결과
*****
*****
*****
*****
*****
→ 안쪽 반복문 (가로를 표시함)
→ 바깥 반복문 (세로를 표시함)
바깥 range X 내부 range 크기의 사각형
→ 즉, 바깥 / 내부 range ( ) 로 사각형의 크기를 조절한다.
계단식 별 특징
⇒ j <= i 이다.
i=0 → j=0
i=1 → j=0,1
...(생략)
i=4 → j=0,1,2,3,4
예제
for i in range(5): # 0부터 4까지 5번 반복. 세로 방향
for j in range(5): # 0부터 4까지 5번 반복. 가로 방향
if j <= i: # 세로 방향 변수 i만큼
print('*', end='') # 별 출력. end에 ''를 지정하여 줄바꿈을 하지 않음
print() # 가로 방향으로 별을 다 그린 뒤 다음 줄로 넘어감
# (print는 출력 후 기본적으로 다음 줄로 넘어감)
# Python Shell
*
**
***
****
*****
대각선 별 특징
⇒ 가로/세로 방향의 변수 값이 같을 때 별 출력 (j == i)
⇒ 같지 않을 때 공백 출력
i=0 → j=0
i=1 → j=1
...(생략)
i=4 → j=4
예제 1 ( j == i 만 입력 시)
for i in range(5): # 0부터 4까지 5번 반복. 세로 방향
for j in range(5): # 0부터 4까지 5번 반복. 가로 방향
if j == i: # 세로 방향 변수와 같을 때
print('*', end='') # 별 출력. end에 ''를 지정하여 줄바꿈을 하지 않음
print() # 가로 방향으로 별을 다 그린 뒤 다음 줄로 넘어감
# (print는 출력 후 기본적으로 다음 줄로 넘어감)
# # Python Shell
*
*
*
*
*
for i in range(5): # 0부터 4까지 5번 반복. 세로 방향
for j in range(5): # 0부터 4까지 5번 반복. 가로 방향
if j == i: # 세로 방향 변수와 같을 때
print('*', end='') # 별 출력. end에 ''를 지정하여 줄바꿈을 하지 않음
else: # 세로 방향 변수와 다를 때
print(' ', end='') # 공백 출력. end에 ''를 지정하여 줄바꿈을 하지 않음
print() # 가로 방향으로 별을 다 그린 뒤 다음 줄로 넘어감
# (print는 출력 후 기본적으로 다음 줄로 넘어감)
# Python Shell
*
*
*
*
*
for에 range 대신 시퀀스 객체(리스트, 튜플, 문자열 등)를 넣어도 됨
예시
# 1. 리스트
>>> a=[10,20,30,40,50] # 10부터 차례대로 나옴
>>> for i in a:
print(i)
# 2. 문자열 (문자 하나씩 나옴)
>>> for i in 'Python':
print(i) # print(i,end=' ')로 하면 문자열이 1열로 나온다.
P
y
t
h
o
n
reversed
형식
reversed(시퀀스객체)
특성
시퀀스 객체를 뒤집어줌 (원본 객체 자체는 바뀌지 않음)
>>> for i in reversed('Python'):
print(i,end=' ')
n o h t y P
while 반복문: 반복 횟수가 정해져 있지 않을 때 자주 사용
for 반복문: 반복 횟수가 정해져 있을 때 자주 사용함.