728x90
반응형

이번 글에서는 제어문 if, while, for 등의 제어문에 대해서 알아보려 합니다.

 

if문

if 문은 조건을 판단하고 그 상황에 맞게 처리를 하는 경우 사용을 합니다. 기본 구조는 아래와 같습니다.

주의 해야할 점은 수행할 문장은 if 문에서 들여쓰기를 해야한다는 것 입니다. 이것을 지키지 않으면 에러가 발생합니다. 보통 스페이스 4개로 들여쓰기를 하거나 tab 키를 이용합니다. 그리고 조건문이 끝나고 콜론(:)을 잊지 말아야 합니다.

if <조건문>:
    <수행할 문장1> 
    <수행할 문장2>
    ...
elif <조건문>:
    <수행할 문장1>
    <수행할 문장2>
    ...
elif <조건문>:
    <수행할 문장1>
    <수행할 문장2>
    ...
...
else:
   <수행할 문장1>
   <수행할 문장2>
   ... 

if문은 조건부 표현식으로 표현을 할 수 있으며 아래와 같습니다.

if a= 10 :
    s = "OK"
else:
    s = "NO"

위 조건문을 조건부 표현식으로 표현해 보겠습니다.

s = "OK" if a=10 else "NO"
=====================================
조건문이 참인 경우  if  조건문  else 조건문이 거짓인 경우

 

while 문

while 문은 반복해서 문장을 수행해야 하는 경우에 사용을 합니다. 기본 구조는 다음과 같습니다.

while <조건문>:
    <수행할 문장1>
    <수행할 문장2>
    <수행할 문장3>
    ...

while 문과 위에서 배운 if문을 사용하여 특정조건이 되면 while 문을 빠져나오게 할 수도 있으며(break), 수행문장 아래부분을 통과하고 처음으로 돌아가게 할 수(continue)도 있습니다.

for 문

for 문도 while 문과 같은 반복문입니다. 기본 구조는 다음과 같습니다.

for 변수 in 리스트(또는 튜플, 문자열):
    수행할 문장1
    수행할 문장2
    ...

for 문은 리스트나 튜플, 문자열의 길이만큼 반복할때 많이 사용합니다.  for 문은 range함수와 자주 사용하는데 아래의 예를 통해서 보도록 하겠습니다.

[코드]

a = 0
print(a)
for i in range(1,5):
    print("    i:", i)
    a = a + i
print(a)

[출력]

0
    i: 1
    i: 2
    i: 3
    i: 4
10

range(시작숫자:끝숫자) 를 사용하면 시작숫자부터 끝숫자-1까지의 숫자입니다. (끝숫자는 포함되지 않음)

 

리스트 내포 사용하기

리스트 안에 for 문을 포함하는 리스트 내포를 사용하면 편리하고 직관적인 프로그램을 만들 수 있습니다.

a = [1,2,3,4]
result = []
for num in a:
    result.append(num*3)
print(result)

# 위 for문을 리스트 내포를 사용해서 표현하기
# for 1개인 경우
# [표현식 for 항목 in 반복가능객체 if 조건문]
a1 = [1,2,3,4]
result1 = [num*3 for num in a1]
print(result1)

# for 2개 이상일때도 다음과 같이 표현이 가능하다
#[표현식 for 항목1 in 반복가능객체1 if 조건문1
#        for 항목2 in 반복가능객체2 if 조건문2
#        ...
#        for 항목n in 반복가능객체n if 조건문n]
728x90
반응형

+ Recent posts