데이터 분석/파이썬

파이썬 기초 - 조건식, 조건문, 반복문

김각도 2022. 10. 13. 22:11
반응형

조건식

 조건식이란 어떤 조건에 따라 실행이 분기되는 식이다.

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

 

    if num > 100:

        searchNum = i

        break

 

 

중첩 반복문

 중첩 반복문이란 반복문 안에 또 다른 반복문을 선언하는 것이다.

# 별표(*)로 계단 만들기

for i in range(1, 10):        # 모양을 반대로 만들고 싶다면 (1, 10) 대신 (10, 0, -1)

    for j in range(i):

        print('*', end='')

    print()       # 개행

 

!! 실행문에 pass라는 키워드를 적으면 실행문 작성을 미룰 수 있다.

 
반응형