티스토리 뷰
조건문은 어떤 조건이 참일 때 수행되는 구문이고 반복문은 구문을 반복적으로 수행하기 위해 사용
조건문을 만들기 위해서는 if
를 사용하고 반복문은 for
와 while
을 사용.
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 |