본문 바로가기
Python

파이썬 기초 (2) - for문과 if문

by 아짱이아빠 2022. 3. 15. 21:52
반응형

이번에는 반목문과 if문에 대해서 간략히 정리해 보겠다.

 

[기본적인 for 문]

아래는 기본적인 for 문으로서  i는 0부터 4까지 숫자를 순차적으로 찍는다.

for i in range(5):
  print(i)

 

여기서 약간 변형을 가져가면 다음과 같다.

list = []

for i in range(20):
  list.append(i**2)

먼저 비어있는 리스트를 만들고 여기에 i는 0부터 19까지 돌면서 i의 제곱값이 계속 쌓여간다.

그래서 결과는 [0,1,4,9,16,~ 361]까지 찍히게 된다.

 

[리스트 for 문]

이것은 for 문에서 반복을 리스트에 있는 내용으로 하는 것이다.

list = ['fog', 'cat', 'dog']

for item in list:
  print(item)

결국, 출력 결과는 fog와 cag, dog이 된다.

이처럼 for 문에서는 숫자 뿐만 아니라 리스트에 있는 내용으로 반복을 시킬 수 있다.

 

이것은 아래처럼 변형을 할 수 있다.

list = ['fog', 'cat', 'dog']

for i, item in enumerate(list):
  print('Index {} contains {}'.format(i, item))

i는 리스트의 내용 수 만큼 반복되고 ‘enumerate’를 사용하여 리스트의 내용을 하나씩 가져온다.

print문에는 앞에 파이썬 기초(1)에서 얘기했던 .format 함수를 사용하여 앞에 {}에는 숫자가, 두 번째 {}에는 리스트에 있는 내용이 들어간다.

그래서 결과는,

Index 0 contains fog

Index 1 contains cat

Index 2 contains dog 

이 된다.

 

[Comprehension for 문]

이것은 쉽게 한 줄로 for문을 만드는 것이다.

list = [i**2 for i in range(20)]

i는 0부터 19까지 하나씩 불러와서 i의 제곱을 한 후 리스트에 담는 내용이다.

파이썬은 이처럼 이해하기 쉽게 for 문을 만들 수도 있다.

 

[이중 for 문]

아래는 for 문 안에 또 for 문이 있는 구조이다.

for i in range(5):
  for j in range(5):
    print('i is {} and j is {}'.format(i,j))

i가 0일 때 j는 0부터 4까지 그리고 i가 1일 때 역시 j는 0부터 4까지 값을 넣는다.

.format 함수를 이용하여 첫 {}에는 i의 값, 두 번째 {}에는 j의 값을 넣으며 결과는 다음과 같다.

이중 for 문 결과
(이중 for 문 결과)

 

[Boolean과 if 문]

Boolean은 참과 거짓으로 결과를 내보내는 문이다.

a=True
b=False

a or b 라고 하면 a에 True가 있으므로 결과는 ‘True’가 된다.

a and b 라고 하면 a와 b가 모두 참이어야 하는데 그렇지 못하므로 결과는 ‘False’ 가 된다.

 

다음과 같은 형태도 있다.

not (b) 라고 하면 거짓이 아니기 때문에 ‘True’의 결과가 나오고

a and not (b) 라고 하면 a는 참이면서 not (b)도 참이기 때문에 결과는 ‘True’가 된다.

 

아래를 실행시키면 결과는 아무것도 나오지 않는다.

if b:
  print('yes')

if 문은 참이어야 수행되는데 b는 False기 때문에 수행되지 않는 것이다.

 

앞에서 본것을 if 문에 넣으면,

if a and not(b):
  print('yes')

a and not (b)는 참이기 때문에 if 문이 수행되어 결과는 ‘yes’가 찍힌다.

 

반응형

 

다음은 다른 활용 예이다.

i=0 은 말 그대로 i는 0의 값을 갖는다는 것이다.

반면에 i==0은 i는 0과 같다는 의미이다.

그러므로 i==0의 결과는 ‘True’이다.

그러나 다음의 결과는 ‘False’가 된다.

a = i==1

i는 1과 같지 않기 때문에 a는 “False’ 이다.

이를 if 문에 적용하면 다음과 같다.

if i!=0:
  print('yes')

i는 0인데 i는 0과 같지 않다고 하고있기 때문에 거짓이 되어 if 문은 수행되지 않고 아무런 출력도 없다.

 

Boolean은 다음과 같이도 사용할 수 있다.

'at' in 'cat'

cat이란 단어에는 at가 들어가기 때문에 결과는 ‘True’ 이다.

이를 if 문으로 사용하면,

if 'dt' in 'cat':
  print('yes')

cat에는 dt가 없기 때문에 이 if 문은 수행되지 않는다.

 

다음의 예는 위의 사항들을 종합한 것이다.

if 'dt' in 'cat' and i==1:
  print('yes')

elif 'at' in 'cat':
  print('only condition 1 true')

else:
  print('no')

if문은 elif와 else를 통해 조건을 추가할 수 있다.

첫 if 문은 cat에 dt가 없고 i도 1이 아니기 때문에 모두 거짓이라 수행되지 않는다.

두 번째 if 문은 cat 단어에 at가 있으므로 참이며 수행된다.

마지막 else는 위의 두 조건이 모두 거짓이면 수행되는데 두 번째 elif 문이 참이므로 수행되지 않는다.

그래서 이 if 문의 결과는 ‘only condition 1 ture’ 이다.

 

 

다음 파이썬 기초 (3)에서는 앞에서 알아본 파이썬 기본 기능을 이용하여 몇 가지 문제를 풀어보면서 파이썬의 활용에 대해서 알아보도록 하겠다.

 

반응형

댓글