파이썬 목차 보기
0. INTRO
while 문에는 조건과 반복을 동시에 수행한다. 파이썬에는 조건만 제시하여, 해당 조건에 맞는 경우에만 수행하도록 명령을 내리는 것이 가능하며, if문이 바로 그러한 기능을 수행한다. if문과 다중 조건문에 대해서 알아보자.
1. 조건문, if 와 else
20개의 데이터를 갖는 A리스트에서 10번째 데이터에만 1+1 계산 결과를 저장하고, 나머지 경우는 1을 출력하는 프로그램을 제작하고 싶다. 이 경우 조건문 if와 else를 이용하여 간단하게 프로그램을 제작하는 것이 가능하다. 다음의 예시 코드를 참고하자.
예시 코드:
A=[0 for i in range(20)]
for i in range(20):
if i == 10:
A[i]=1+1
else:
A[i]=1
* 여기에서 ==는 비교 연산자로서 i가 10과 같은 조건을 선언할 때 쓰인다. 비교 연산자는 다음 강의에서 다루도록 하겠다.
위와 같이, 조건문 if는 특정 조건을 수행하고 else는 다른 나머지 조건에 해당할 때 명령을 수행하도록 한다.
2. 다중 조건문, elif
여러 가지 다른 조건을 내세울 때는 elif 쓴다. 예를 들어, 앞에 예시 코드에서 0번째와 19번째 인덱스에서는 데이터 0을 저장하고 10번째 인덱스에는 1+1을 수행하도록 하는 프로그램을 짜 보도록 하자.
예시 코드:
A=[0 for i in range(20)]
for i in range(20):
if i == 10:
A [i]=1+1
elif i == 0:
A [i]=3
elif i == 19:
A [i] =3
else:
A [i]=1
elif를 통해서 다중 조건에서 명령을 내리는 법은 알겠다. 그렇다면 elif와 if를 여러번 쓰는 것의 차이는 무엇일까?
3. if 와 elif의 차이
다음과 같이 조건을 두 가지 방식으로 걸어보자. 하나는 if를 여러 개, 나머지 하나는 elif를 같이 쓰는 방법이다.
예시 코드 1:
A=[0 for i in range(10)]
for i in range(10):
if i == 5:
A [i]=1+1
if i == 5:
A [i]=3
if i == 5:
A [i] =4
if i == 5:
A [i]=5
예시 코드 2:
for i in range(10):
if i == 5:
A [i]=1+1
elif i == 5:
A [i]=3
elif i == 5:
A[i] =4
elif i == 5:
A [i]=5
두 결과의 차이를 알겠는가? 첫 번째 예시코드에서는 조건을 각각 5번 모두 수행함으로써 마지막 조건에 해당하는 값을 리스트에 저장했고, 두번째 예시코드는 조건을 만족한 첫번째 경우만 수행함으로써 결과를 리스트에 저장하였다. 즉, 조건문 4번의 수행을 건너 뜀으로써 시간을 그만큼 절약하는 결과를 가져온다.
간단한 프로그램에서는 프로그램의 수행 시간이 그리 차이 나지 않지만, 복잡하고 데이터가 많은 프로그램에서는 조금이라도 시간을 절약하려면 효율적인 프로그램을 짜야한다. 그러므로 elif 다중 조건의 특성을 잘 파악하고, 알아 두도록 하자.
* 다음 강의는 구체적 조건을 위한 비교 연산문입니다.
'COMPUTER SCIENCE > Python' 카테고리의 다른 글
[Section 2] 조건문에서 유용한 코드와 논리문 (0) | 2021.08.02 |
---|---|
[Section 2] 구체적 조건을 위한 비교 연산문 (0) | 2021.07.15 |
[Section 2] 특정 조건에서 반복을 수행하는 while 문 (0) | 2021.07.10 |
[Section 2] 반복명령만을 수행하는 FOR문 (0) | 2021.07.08 |
[Section 2] 반복문과 조건문에 대해서.. (0) | 2021.07.02 |