Tips/Python

[Py린이를 위한 Python 기초] 4. 조건문, 반복문

엘사박 2023. 2. 22. 11:33

※ 이 글은 책 「파이썬 코딩도장」의 내용을 재정리한 내용임

- 파이썬 시리즈 글 순서->  링크

 

 

 

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
...