[Python] 조건문

shlim55·2025년 10월 21일

Python

목록 보기
6/25
money = True
if money:
    print("택시를")
print("타고")
    print("가라")

이렇게 들여쓰기가 틀리면 에러가 뜸
파이썬 들여쓰기가 강제되는 언어임

money = True
if money:
    print("택시를")
    print("타고")
    print("가라")

이렇게 하면

택시를
타고
가라
이렇게 출력 됨

money = True
if money:
    print("택시를")
print("타고")
print("가라")

이렇게 해도 그대로 출력되나 의미가 달라짐

택시를 은 true false에 따라 출력되고 안되고 하지만

밑에는 true false 여부와 상관없이 쭉 실행되는 일반적인 코드흐름이 된다

False로 바꾸게 되면 타고, 가라만 출력됨

True false랑 관계없는 그냥 print문이라서

항상 들여쓰기, if문 뒤에 : 넣기

비교 연산자
비교연산자 설명
x < y x가 y보다 작다.
x > y x가 y보다 크다.
x == y x와 y가 같다.
x != y x와 y가 같지 않다.
x >= y x가 y보다 크거나 같다.
x <= y x가 y보다 작거나 같다.

>>> x = 3
>>> y = 2
>>> x > y
True
>>>
money = 2000
if money >= 3000:
     print("택시를 타고 가라")
else:
     print("걸어가라")

걸아가라가 출력된다

and, or, not

연산자 설명
x or y x와 y 둘 중 하나만 참이어도 참이다.
x and y x와 y 모두 참이어야 참이다.
not x x가 거짓이면 참이다.

돈이 3000원 이상 있거나 카드가 있다면 택시를 타고 가고, 그렇지 않으면 걸어가라.

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

"택시를 타고 가라" 가 출력 and면 두개 조건다 만족해야 출력

하나라도 거짓이 나오면 "걸어가라" 출력

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

공백도 반영된다 함 공백 'p ' 이렇게 하면 false가 뜸

조건문에서 아무 일도 하지 않게 설정하고 싶다면?
이럴 때 사용하는 것이 바로 pass이다.

>>> pocket = ['paper', 'money', 'cellphone']
>>> if 'money' in pocket:
...     pass 
... else:
...     print("카드를 꺼내라")
...

아무것도 안쓰면 오류가 뜸

다양한 조건을 판단하는 elif

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

이렇게 하면 많이 혼잡할수 있는데 이래서 쓰는게 elif

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

택시를 타고가라

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

보다시피 elif는 무한으로 쓸수있다.

if 문을 한 줄로 작성하기

>>> if 'money' in pocket:
...     pass 
... else:
...     print("카드를 꺼내라")
...

이 코드문은 보다시피 한줄 거리다

이럴때 수행할 문장이 적으면 좀더 간략하게 쓰는 방법이 있다.

>>> pocket = ['paper', 'money', 'cellphone']
>>> if 'money' in pocket: pass
... else: print("카드를 꺼내라")
...

하지만 보통 한줄로 쓰면 구분이 어려움 두줄로 쓰는게 일반적이라 함
기능적으로 같은데 패션코딩 같은거라 함

조건부 표현식

score = 100
if score >= 60:
    message = "success" 
else: 
    message = "failure" 
print(message)

줄이면 이렇게 된다.

score = 100
message = "success" if score >= 60 else "failure"
print(message)

일단 참일떄 실행할거를 먼저쓴다.
그 다음에 조건을 쓴다.
참 조건 거짓 이렇게 됨
패션코딩이다.
굳이 이렇게 안해도 된다.

profile
A Normal Programmer

0개의 댓글