파이썬: 제어문

Ju_Nik_e·2023년 4월 17일

PYTHON

목록 보기
2/9

IF문(조건문)

  • 참과 거짓을 판단하는 문장

if문 기본 구조

if 조건문:
    수행할 문장1
    수행할 문장2
    ...
else:
    수행할 문장A
    수행할 문장B
    ...

예시

>>> money = True
>>> if money:
	print('택시탑승')
택시탑승
->money가 True임으로 무조건 실행됨

조건문에 비교연산자 사용

x < y : x가 y보다 작다
x > y : x가 y보다 크다
x == y : x와 y가 같다
x != y : x와 y가 같지 않다
x >= y : x가 y보다 크거나 같다
x <= y : x가 y보다 작거나 같다
위 연산자들은 bool값을 반환하기 때문에 if 조건문에 사용가능

and, or, not

x or y : x와 y 둘중에 하나만 참이어도 참이다
x and y : x와 y 모두 참이어야 참이다
not x : x가 거짓이면 참이다

>>> money = 2000
>>> card = True
>>> if money >= 3000 or card:
...     print("택시를 타고 가라")
... else:
...     print("걸어가라")
...
택시를 타고 가라
>>>

in, not in

in       not in
x in 리스트   x not in 리스트
x in 튜플    x not in 튜플
x in 문자열   x not in 문자열

>>> 1 in [1, 2, 3]
True
>>> 1 not in [1, 2, 3]
False
>>> 'a' in ('a', 'b', 'c')
True
>>> 'j' not in 'python'
True

다음과 같이 사용 가능

>>> pocket = ['paper', 'cellphone', 'money']
>>> if 'money' in pocket:
...     print("택시를 타고 가라")
... else:
...     print("걸어가라")
...
택시를 타고 가라
>>>

Pass 명령어

  • 조건문에서 아무 일도 하지 않게 설정하기
>>> pocket = ['paper', 'money', 'cellphone']
>>> if 'money' in pocket:
...     pass 
... else:
...     print("카드를 꺼내라")
...

elif(else if)

  • if와 else 사이에 다양한 조건 추가
if <조건문>:
    <수행할 문장1> 
    <수행할 문장2>
    ...
elif <조건문>:
    <수행할 문장1>
    <수행할 문장2>
    ...
elif <조건문>:
    <수행할 문장1>
    <수행할 문장2>
    ...
...
else:
   <수행할 문장1>
   <수행할 문장2>
   ... 

조건문 간단하게 작성하기

  • 수행할 문장이 한 줄 일때 간략하게 다음과 같이 작성 가능
>>> pocket = ['paper', 'money', 'cellphone']
>>> if 'money' in pocket: pass
... else: print("카드를 꺼내라")
...

조건부 표현식

  • 변수 = 조건문이 참인 경우의 값 if 조건문 else 거짓일 경우 값
if score >= 60:
    message = "success"
else:
    message = "failure"

위 코드를 아래와 같이 변경 가능

message = "success" if score >= 60 else "failure"

while문(반복문)

while문 기본구조

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

while문 만들고 빠져나가기

coffee = 10
while True:
    money = int(input("돈을 넣어 주세요: "))
    if money == 300:
        print("커피를 줍니다.")
        coffee = coffee -1
    elif money > 300:
        print("거스름돈 %d를 주고 커피를 줍니다." % (money -300))
        coffee = coffee -1
    else:
        print("돈을 다시 돌려주고 커피를 주지 않습니다.")
        print("남은 커피의 양은 %d개 입니다." % coffee)
    if coffee == 0:
        print("커피가 다 떨어졌습니다. 판매를 중지 합니다.")
        break
  • while True:는 무한 루프임.
  • 마지막 조건문에 break를 통해 빠져나올 수 있음

while문 맨 처음으로 돌아가기

  • while문을 빠져나가지 않고 맨 처음으로 다시 돌아가게 함
>>> a = 0
>>> while a < 10:
...     a = a + 1
...     if a % 2 == 0: continue
...     print(a)
...
1
3
5
7
9

for문

for문 기본 구조

for 변수 in 리스트(또는 튜플, 문자열):
    수행할 문장1
    수행할 문장2
    ...
  • 리스트나 튜플, 문자열의 첫 번째 요소부터 마지막 요소까지 차례로 변수에 대입되어 "수행할 문장1", "수행할 문장2" 등이 수행됨.
  • 아래와 같은 응용도 가능
>>> a = [(1,2), (3,4), (5,6)]
>>> for (first, last) in a:
...     print(first + last)
...
3
7
11
  • 각각의 요소가 자동으로 first, last 변수에 대입됨.
  • continue, break도 while문과 동일하게 사용가능

range함수로 for문 사용하기

>>> add = 0 
>>> for i in range(1, 11): 
...     add = add + i 
... 
>>> print(add)
55
  • i가 1부터 10까지 차례로 대입되면서 반복문이 실행됨

리스트 컴프리헨션

  • 리스트 안에 for문을 포함시키는 것
  • [표현식 for 항목 in 반복가능객체 if 조건문]
>>> a = [1,2,3,4]
>>> result = [num * 3 for num in a]
>>> print(result)
[3, 6, 9, 12]
>>> result = [num * 3 for num in a if num % 2 == 0]
>>> print(result)
[6, 12]

0개의 댓글