[Py린이를 위한 Python 기초] 4. 조건문, 반복문
※ 이 글은 책 「파이썬 코딩도장」의 내용을 재정리한 내용임
- 파이썬 시리즈 글 순서-> 링크
1) 조건문
● if 조건문
- 기본형태는 다음과 같다
- if 절 안에 실행 코드는 반드시 들여쓰기 할 것
- if 조건식 쓴 다음 :(콜론) 붙여야 에러 안남
if 조건식:
조건 만족 시 실행 코드1
elif 조건식:
조건 만족 시 실행 코드2
else:
조건 불만족 시 실행 코드3
- 예를 들어 if 만 쓰면 다음과 같다
x = 10
if x == 10:
print('x는 10')
# x는 10
- if 절 불만족 시 elif로 다른 조건에 대해 검사할 수 있음
x = 10
if x == 0:
print('x는 0')
elif x > 5:
print('x는 5보다 큼')
# x는 5보다 큼
- if 절 불만족 하는 경우 else를 사용하여 실행코드 작성
x = 3
if x == 0:
print('x는 0')
else:
print('모든 조건 불만족')
# 모든 조건 불만족
- if, elif, else 모두 쓴 경우
x = 3
if x == 0:
print('x는 0')
elif x > 5:
print('x는 5보다 큼')
else:
print('모든 조건 불만족')
#모든 조건 불만족
● 중첩 반복문
- if를 두번이상 써야하는 경우가 생길 때
- 다음과 같이 쓸 수 있음
x = 15
if x >=10:
print('x가 10 이상')
if x ==15:
print('x가 15')
if x ==20:
print('x가 20')
# x가 10이상
# x가 15
● pass
- if 조건식: 다음은 무조건 실행코드를 넣어야함
- 그러나 코드작성중일 때는 코드를 생략하고 pass로 조건문 형태를 유지할 수 있음
- 나중에 할 일 주석으로 작성해놓으면 좋음
if x == 10:
pass #TODO x가 10일 때 처리 필요
2) for 반복문
● 형태
- 반복할 횟수를 지정할 수 있을 때 for 반복문 사용함
- 기본 형태는 다음과 같음
- 시퀀스 객체란 리스트, 튜플, 문자열을 의미
# 형태 1
for 변수 in range(숫자):
반복할 코드
#형태 1 예시
for i in range(5):
print(i)
# 0
# 1
# 2
# 3
# 4
#형태 2
for 변수 in 시퀀스객체:
반복할 코드
#형태 2 예시
a = [0,2,4] #변수 a에 리스트 할당
for i in a:
print(i)
# 0
# 2
# 4
#형태 3
for 변수 in range(len(시퀀스 객체)):
반복할 코드
#형태 3 예시
a = [0,2,4]
for i in range(len(a)):
print(i)
# 0
# 1
# 2
#형태 4
for 변수 in reversed(range(숫자)):
반복할 코드
# 형태 4 예시
for i in reversed(range(5)):
print(i)
# 4
# 3
# 2
# 1
# 0
● range 함수
- range() 란? 괄호 안에 숫자를 넣으면 0부터 (해당숫자-1)까지 숫자를 꺼내서 반환하는 함수임
- 형태는 range(시작숫자, 마지막숫자, 증감간격)으로 쓸 수 있음
- range(10)은 시작숫자(0으로 가정)와 증감간격을 생략하고 마지막숫자만 쓴 것으로 0~9까지의 숫자를 꺼내 순서대로 반환함
- range(10,0,-1)은 10에서 0까지 1씩 감소하며 숫자를 반환함 이때는 10,9,8,7,6,5,4,3,2,1까지만 반환함, 이는 (마지막숫자+1)까지만 반환하기 때문임
● len 함수
- len() 이란? 괄호안에 객체의 개수를 세어 그 숫자를 반환하는 함수
- len([0,2,4]) 는 3을 반환함. 리스트 안의 객체 수가 3개이기 때문임
● 숫자 직접 입력 받아 반복하기
- input()을 이용하여 숫자를 직접 입력받을 수 있음
- 이때 input()함수를 통해 받은 데이터는 문자열이므로 int()를 통해 정수로 바꿔주어야함
count = int(input('반복할 횟수를 입력하세요')) # 3입력 -> '3' 받음 -> 정수 3으로 변환
for i in range(count):
print(i)
# 0
# 1
# 2
● 다중루프
for 문을 여러번 써서 다중반복문을 만들 수 있음
예를들어 (m개행,n개열)로 이루어진 표에 대해서 각 셀에 대해 코드를 실행시키고 싶다면
for i in range(m):
for j in range(n):
코드 1
코드 2
위와 같이 사용할 수 있음
3) while 반복문
● 형태
- while 반복문은 반복할 횟수가 정해져 있지 않을 때 사용할 수 있음
- 기본 형태는 다음과 같음
#형태 1
초기식
while 조건식:
반복할 코드
변화식
# 형태 1 예시
i = 0
while i < 3
print(i)
i+= 1
# 0
# 1
# 2
#형태 2
초기식
while 조건식:
반복할 코드
if 조건식:
break
#형태 2 예시
i = 0
while i < 5:
print(i)
i += 1
if i == 3:
break
# 0
# 1
# 2
#무한 루프
while True:
print('hello world')
# hello world
# hello world
# hello world
# hello world
# hello world
# hello world
# hello world
...