조건식
조건식이란 어떤 조건에 따라 실행이 분기되는 식이다.
A if 조건식 else B 라는 코드는 조건식의 결과가 True일 경우 A를 실행, False일 경우 B를 실행한다.
모든 조건식(삼항연산자)은 if ~ else문으로 변경할 수 있으나, 모든 if ~ else문 또한 조건식으로 변경할 수 있는 것은 아니다. 실행문이 간단하지 않으면 조건식으로 코딩하기가 어렵다.
조건문
조건문이란 특정 조건에 따라 프로그램을 분기하는 코드이다. 조건문 뒤에 콜론(:)을 붙여주고, 다음 라인부터는 공백문자 또는 탭으로 들여쓰기를 해주어야 한다. 공백문자의 경우 몇 개를 입력하든 상관은 없으나, 모든 들여쓰기에서 그 갯수가 동일해야만 한다. 일반적으로는 4개의 공백문자를 넣는다. 그렇게 들여쓰기 된 실행문은 코드블럭이라고 부른다. 조건문의 종류는 아래와 같다.
- if문 (단일조건, True인 경우만 실행문을 출력)
if 조건문:
실행문
- if ~ else문 (양자택일, 결과에 따라 둘 중 하나를 출력)
if myScore >= passScore:
print('PASS')
else:
print('FAIL')
- if ~ elif문 (다자택일, 여러 가지 조건식 결과에 따라 실행문이 결정됨)
score = int(input('성적 : ')
grades = ''
if score >= 90:
grades = 'A'
elif score >= 80:
grades = 'B'
else: # if ~ elif문의 경우, 마지막에 else문은 생략이 가능하다
grades = 'F'
반복문
반복문이란 특정 실행을 반복하는 것이다. 반복문을 사용하면 프로그래밍이 간결하고 유지와 보수가 쉽다. 반복문은 횟수만큼 반복 실행을 하는 횟수에 의한 반복(for문)과 조건에 만족할 때까지 반복 실행하는 조건에 의한 반복(while문)으로 나누어진다.
- 횟수에 의한 반복 (for문)
# 구구단 2단
for i in range(1, 10):
print('{} * {} = {}'.format(2, i, (2 * i)))
# 여러명에게 메일 발송
players = ['A', 'B', 'C']
for player in players:
print('{}선수에게 메일 발송'.format(player))
for ~ in range()를 이용하여 반복의 범위를 설정할 수도 있다.
for i in range(1, 11, 2): # 1부터 10까지 2씩 증가하면서 반복
- 조건에 의한 반복 (while문)
while문은 조건에 의한 반복에서 주로 사용되는데, 조건에 만족하면 반복 실행된다. 주의할 점은 조건식이 항상 True가 되지 않도록 n += 1 또는 논리 연산자 True를 변수 선언하며 while 조건문에 작성해주는 것과 같이 False가 나오는 조건식을 반드시 작성해주어야 한다.
endNum = 10
n = 0
while n <= endNum:
print(n)
n += 1
반복문 제어 - continue 키워드
반복 실행 중 continue 키워드를 만나면 실행을 생략하고, 다음 반복 실행문으로 넘어간다.
# 7의 배수
cnt = 0
for i in range(100):
if i % 7 != 0:
continue
print(‘{}는 7의 배수이다.’.format(i))
cnt += 1
else: #else의 실행문은 반복문이 종료된 후 실행
print(‘99까지의 정수 중 7의 배수는 {}개’.format(cnt))
반복문 제어 - break 키워드
반복문 실행 중 break를 만나면 반복문을 빠져나와 다음 코드를 실행한다.
# 1부터 100까지 정수를 더할 때, 합계가 100이 넘는 최초의 정수 찾기
num = 0
searchNum = 0
for i in range(100):
num += i
searchNum = i
break
중첩 반복문
중첩 반복문이란 반복문 안에 또 다른 반복문을 선언하는 것이다.
# 별표(*)로 계단 만들기
for i in range(1, 10): # 모양을 반대로 만들고 싶다면 (1, 10) 대신 (10, 0, -1)
for j in range(i):
print('*', end='')
print() # 개행
!! 실행문에 pass라는 키워드를 적으면 실행문 작성을 미룰 수 있다.
'데이터 분석 > 파이썬' 카테고리의 다른 글
파이썬 중급 - 사용자/math/random/time 모듈, 패키지 (0) | 2022.10.17 |
---|---|
파이썬 중급 - 함수, 전역 변수와 지역 변수, 중첩 함수, lambda 키워드 (0) | 2022.10.17 |
파이썬 기초 - 연산자 (산술, 할당, 비교, 논리), operator 모듈 (0) | 2022.10.12 |
파이썬 기초 - 데이터 입력과 출력 (0) | 2022.10.11 |
파이썬 기초 - 자료형 (정수형, 실수형, 문자형, 논리형) (0) | 2022.10.10 |