티스토리 뷰

조건문은 어떤 조건이 참일 때 수행되는 구문이고 반복문은 구문을 반복적으로 수행하기 위해 사용
조건문을 만들기 위해서는 if를 사용하고 반복문은 forwhile을 사용.

if

if는 영어가 의미하는 대로 만약(if) 조건이 참(True)이면 if문(들여쓴문) 아래 행동을 실행.

if 1:  # 여기서 1은 True를 의미
    print('True')

# output
'True'

elif 문 사용

조건을 여러 개 추가 할 수 있다.

a = 0

if a == 1:
    print('a는 1이다')
elif a == 2:
    print('a는 2이다')
elif a == 0:
    print('a는 0이다')

# output
'a는 0이다'

membership 확인

list 같은 데이터 모음에 주어진 아이템이 존재하는지 확인

a = [1, 2, 3, 4, 5]
if 1 in a:  # 1이 존재하면 True 반환
    print('true')

for

for는 조건에 iterable(반복 가능한)가 주어지고 iterable에서 값을 가져와 주어진 행동을 반복적으로 실행.

iterable이란 굳이 번역하자면 반복 가능한 객체 정로도 번역할 수 있는데 이게 사전에는 없는 프로그래밍 영역에서 만들어진(프로그래머들 사이에서 쓰이는) 단어이다(이렇게 사전에는 없는 새로 만들어진 단어들이 존재). iteration(반복)이라는 단어를 형용사 형태로 만들어 사용하는 듯.
파이썬에서 말하는(다른 프로그램 언어에서도 이 단어를 사용) iterable를 이해 할려면 generator 부분을 보면 됨.

for i in [1, 2, 3, 4, 5]:  # i는 loop 변수라 불림
    print(i)

# output
1
2
3
4
5

Dictionary 사용

d = {1: 'a', 2: 'b', 3: 'c'}
for key in d:  # key 값이 반환 됨. d.keys()와 같음
    print(key)

# output
1
2
3

for value in d.values():  # .value() 메서드를 사용하여 value 값을 반환
    print(value)

# output 
'a'
'b'
'c'

for key, value in d.items():  # .items() 메서드를 사용하여 key와 value 값을 반환
    print(key, value)

# output
1 'a'
2 'b'
3 'c'

확장된 loop 변수 할당 사용법

nested된 list가 iterable로 주어 졌을 때 처리 방법
예를 들어, [(1, 2, 3), (4, 5, 6)] 이와 같이 list 안에 tuple로 정의된 아이템이 있고 tuple이 아닌 각각의 아이템을 구하고? 싶을 때

for a, b, c in [(1, 2, 3), (4, 5, 6)]:
    print(a, b, c)

# output
1 2 3
4 5 6

nested for loop

for 문 안에 for 문을 사용 할 수 있음.

a = ['a', 'b', 'c', 'd']
for i in a:
    for x in a:
        print(i + x)

for문 안에 for문 사용은 제한이 없으나 대부분의 경우는 2개의 for문 사용으로 문제를 해결할 수 있다.

필터로써 if 사용

if를 사용하여 내가 원하는 값만 획득하거나 원하지 않는 값을 제외할 수 있다.

# list a에서 짝수 인 값을 구하기
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for i in a:
    if i % 2 == 0:  # 2로 나눈 나머지가 0이면 짝수
        print(i, '는 짝수')

# list a에서 짝수인 값과 홀수인 값 구별하기
for i in a:
    if i % 2 == 0:
        print(i, '는 짝수')
    else:
        print(i, '는 홀수')

while

영어 단어 그대로 조건이 참일 동안(while) 주어진 행동을 반복적으로 수행

while True:
    print('True')

for와 다른 점은 for는 주어진 값(iterable한 값)이 존재하는 동안 실행되는 반면, while은 주어진 조건이 참(True)일 동안(거짓(False)으로 바뀌지 않으면 무한 실행) 반복적으로 특정 행동을 실행할 필요가 있을 때 사용.

a = 10
while a:  # 0은 거짓(False)을 의미하기 때문에 a가 0이 되면 실행 안됨.
    print(a)
    a -= 1

else 문 사용

if와 함께 사용 시 조건이 거짓(False) 일 때 다른 행동을 하게 하고 싶을 때 사용

if not 1:  # 1(True(참))이 아닌 것은 False(거짓)이다.
    print('True')
else:
    print('False')

# output
'False'

while와 함께 사용 시 조건이 거짓일 될 때만 else 문이 실행됨(한번).

a = 10
while a:
    print(a)
    a -= 1
else:
    print(a)

for와 함께 사용 시 for 구문이 끝나고(더 이상 가지고 올 값이 없을 때) else 구문이 실행 됨.

for i in (1, 2, 3, 4):
    print(i)
else:
    print('done')

# output
1
2
3
4
'done'

break 문 사용

반복문(for, while) 실행 중 break를 만나면 반복문이 종료됨

x = 10
while True:
    x = x -1
    if x % 2 != 0:  # x를 2로 나눈 나머지가 0일 경우
        break
    print(x)
for i in (1, 2, 3, 4, 5):
    if i % 2 == 0:
        break
    print(i)

else와 함께 사용 시 break를 만나면 else는 실행 되지 않고 반복문이 종료됨

x = 10
while x:
    if x % 2 == 0:
        break
    x -= 1
else:
    print(x, '는 0')
for i in (1, 2, 3, 4, 5):
    if i % 2 == 0:
        break
    print(i)
else:
    print('done')

continue 문 사용

반복문 실행 중 continue를 만나면 반복문 시작으로 돌아가 실행.

x = 10
while x:           # 숫자가 0이 아닐 경우 참(True).
    x = x - 1
    if x % 2 == 0:
        continue   # 다시 while 문으로 돌아가 실행
    print(x)
for i in (1, 2, 3, 4, 5, 6, 7, 8, 9, 10):
    if i % 2 == 0:
        continue
    print(i)

pass 문 사용

pass는 단어 그대로 아무것도 하지 않음.

x = 10
while x:
    if x % 2 == 0:
        pass
    print(x)
    x -= 1
for i in (1, 2, 3, 4, 5, 6, 7, 8, 9, 10):
    if i % 2 == 0:
        pass
    print(i)

'Basic' 카테고리의 다른 글

Set  (0) 2020.04.25
파이썬 Tuple  (0) 2020.04.19
파이썬 Dictionary  (0) 2020.04.19
파이썬 List  (0) 2020.04.12
파이썬 String  (0) 2020.04.11
최근에 올라온 글
글 보관함