본문 바로가기
프로그래밍/Python

[Python] 조건문(conditional statement)

by 개발자 한량 2021. 12. 6.
728x90
반응형
SMALL

조건문이란?

▶ 조건문의 개념

  • 조건에 따라 특정 동작을 하도록 하는 프로그래밍 명령어
  • 파이썬에서는 조건문을 사용하기 위해 if, else, elif 등의 명령 키워드 사용 (switch 없음)
  • 스마트폰 잠금 해제 패턴이 5회 틀리면, 20초 동안 대기 상태로 만들어라

▶ if - else문

if <조건>:		   # if를 쓰고 조건 삽입 후 ':' 입력
	<수행 명령 1-1>	   # 들여쓰기 후, 수행 명령 입력 
	<수행 명령 1-2>	   # 같은 조건에서 실행일 경우 들여쓰기 유지
else:			   # 조건이 불일치할 경우 수행할 명령
	<수행 명령 2-1>	   # 조건 불일치 시 수행할 명령 입력 
	<수행 명령 2-2>	   # 조건 불일치 시 수행할 명령 들여쓰기 유지

 

  • if 뒤에는 참과 거짓을 판단할 수 있는 조건문이 들어가야 하고, 조건문이 끝나면 반드시 콜론(:)을 붙여야 함
  • 들여쓰기를 사용하여 해당 조건이 참일 경우 수행할 명령을 작성
  • if의 조건이 거짓일 경우 else문이 수행됨. else문은 생략 가능. 만약 조건에 해당하지 않는 경우에 따로 처리해야 한다면 else문 사용
### 단순 if문 ###
#score=60
score=70

if score>70:
    print("합격")
print("end")

# 실행결과
end

 

### if-else문 ###
score=80

if score>70:
    print("합격")
    print("축하합니다~")
else:
    print("불합격")
    print("다음기회에 다시 도전하세요~")
print("end")

# 실행결과
합격
축하합니다~
end

 

▶ 조건의 판단 : 비교 연산자

  • 비교 연산자(또는 조건 연산자) : 어떤 것이 큰지 작은지 같은지를 비교하는 것
  • 결과는 참(True)이나 거짓(False)이 됨

▶ 조건의 판단 : True와 False의 치환

  • 컴퓨터는 기본적으로 이진수만 처리할 수 있으며, True는 1로, False는 0으로 처리
  • 아래 코드를 실행하면 True가 출력된다. 그 이유는 앞서 설명한 것처럼 컴퓨터는 존재하면
    True, 존재하지 않으면 False로 처리하기 때문

 

  • 아래 코드를 실행하면 True가 출력됨
  • 먼저 3 > 5는 False이고 False는 결국 0으로 치환. 다시 치환하면 (0) < 10이 되고, 이 값은 참이므로 True가 반환

▶ 조건의 판단 : 논리 연산자

  • 논리 연산자 : and or not 문을 사용해 조건을 확장할 수 있음

▶ if - elif - else문

  • 중첩 if문을 간단히 표한하려면 if-elif-else문을 사용
  • elif : else if의 줄임말, if문과 같은 방법으로 조건문을 표현할 수 있음
score=int(input("정수를 입력하세요 : "))

if score>=90:
    print('A')
elif score>=70:
    print('B')
elif score>=60:
    print('c')
else:
    print('F')
    
# 실행결과
정수를 입력하세요 :  100
A

 

year=int(input("당신이 태어난 연도를 입력하세요 : "))
age=2021-year+1

if age<8 or age>26:
    print("학생이 아닙니다.")
elif age>=20:
    print("대학생")
elif age>=17:
    print("고등학생")
elif age>=14:
    print("중학생")
else:
    print("초등학생")
    
# 실행결과
당신이 태어난 연도를 입력하세요 :  1995
학생이 아닙니다.

▶ 논리 연산자 없이 비교 연산자를 사용할 경우

  • 이 코드가 순서대로 실행되면 먼저 1 <= 100을 해석해 True로 반환되고, True는 1과 같으
    므로 1 < 10도 True로 반환되어야 하지만 파이썬에서는 False가 나옴
  • 파이썬은 사람에게 친숙하게 프로그래밍을 하겠다는 철학을 가지고 있으므로 이러한 처리가
    가능하도록 지원함
  • 사람처럼 그냥 조건을 작성하면 파이썬 인터프리터가 다 해결해 줌
  • 문제는 다른 언어들이 지원해 주지 않을 경우가 있으므로, 이렇게 적어 주는 것은 좋은 코드가 아니라는 걸 기억해
    야 함
728x90
반응형
LIST

댓글