파이썬

파이썬 요점 정리 - 조건문

hyestar 2022. 1. 28. 15:28

조건문에 대해 배워볼텐데 조건문에는 if문이 있습니다. 우선 저희는 if문을 배울 예정입니다.

나이가 17살이면 성인일까요? 미성년자일까요? 코드를 한번 작성해볼게요.

age = 17 // age라는 변수 만들어서 17이라는 값을 넣어줌.
print("성인입니다.")
print("미성년자입니다.")

지금 만약 실행한다면 위에서 부터 아래로 두개 다 실행이 되죠. 하지만 저는 20살 아래면 미성년자 하나만 나오게 하고 싶어요. 이럴때 사용하는게 바로 if문이에요. if뜻이 뭐죠? 만약이죠 조건을 주는거에요. 앞에 올려둔 게시글을 참고해주세요. 앞서 배웠던 비교 연산자를 사용할 예정입니다. 자 아무튼 초과, 미만, 이상, 이하는 다 아실걸로 알고 진행하겠습니다. 여태까지 print는 다 실행이 되었었는데 이젠 조건을 줄거기 때문에 if문 뒤에 조건이 참이면 실행되고, 거짓이면 실행되지 않습니다.

age = 17
if age > 20 :
     print("성인입니다.")

age가 지금 몇이죠?? 17인데 20보다 큰가요?? 조건이 거짓이면 이 조건문은 실행되지 않습니다.

if문으로 묶어지는 부분은 탭한번씩 해주시는거 잊지마세요!! 들여쓰기 신경 써주셔야합니다.

elif문
자 위에서 배웠던 개념에서 몇 가지를 추가해 봅시다.
수능문제라고 생각을 하셨을때 age = 5라는 문제로 보고 1)영유아 2)10대 3) 20대 4) 30대 5)그 외의 보기가 주어진다면 답은 몇번일까요?? age 변수의 값을 바꾼다면 답도 달라지겠지만? 우선 정답은 1번이겠죠?? 1번이 정답일 때 2, 3, 4, 5번 보기를 체크하시나요 안하시나요? 수능을 볼땐 시간이 없으니깐 그냥 체크하고 넘어가겠죠?

자 예시를 들어봅시다.

age = 5
if age >= 1 && age <= 9 :
     print("영유아")
if age >= 10 && age <= 19 :
     print("10대")
if age >= 20 && age <= 29 :
     print("20대")
if age >= 30 && age <= 39 :
     print("30대")
if age >= 40 :
     print("그 외")

이렇게 되있다고 하면 우선 첫번째 if문이 정답이더라도 컴퓨터는 밑에 문장을 다 실행하게 됩니다. 물론 거짓이기 때문에 출력이 되지는 않지만 시간이 오래걸리겠죠. 자 이때 elif구문을 사용해서 if elif else를 사용한다면 어떻게 될까요? 한덩어리가 되어서 순차적으로 실행하다가 하나가 정답일경우 다른것은 굳이 보지않고 바로 출력하게 되겠죠. 하나가 정답일때 다른 하나가 정답일 수 없는 경우에 이 둘은 양립할 수 없다고 합니다. 1번이 거짓이고 2번이 참일경우 그 외에 명령문을 거들떠보나요?? 안보죠 그럼 뭐가 좋을까요?? 당연히 실행속도가 빨라집니다~~!!!

세가지 if, elif, else를 사용해서 예시를 들면 아래와 같은 형태가 되겠네요~ else는 그외를 뜻합니다.

if문 elif문 위에 있는 조건문들을 차례대로 돌렸을때 다 거짓인 경우 출력하는 문장이 되게 됩니다.

age = 15
if age >= 10 and age <= 19:
    print("10대")
elif age >= 20 and age <= 29:
    print("20대")
else:
    print("30대")

 

728x90