프로그래밍 언어/파이썬

파이썬 17. if문-1

닉네임못짓는사람 2020. 10. 8. 18:27
반응형

이번 글에서는 프로그래밍에서 매우 중요한 조건문에 대해서 알아보도록 하겠습니다.

 

조건문


먼저, 조건문이란 프로그램에서 어떤 특정한 조건에 따라 그에 맞는 동작을 하도록 해주는 문법입니다.

 

예를 들어 "홍길동은 자신의 집에 들어가려고 한다." 라는 상황이 있다고 생각해봅시다.

보통 집에 들어가려면 도어락에 비밀번호를 입력하고, 이 비밀번호가 일치해야 문이 열립니다.

이때 비밀번호 입력 과정에서 사용하는 것이 바로 조건문입니다.

 

"비밀번호가 일치하면 문을 열고, 틀리면 열지 않는다."

이렇듯 비밀번호가 일치하는가? 라는 조건에 따라서 '문을 연다' 또는 '열지 않는다'의 두 가지 행동을 취할 수 있습니다.

만약 이 조건문이 없다면 비밀번호가 틀리든 말든 문을 열어버릴태니 매우 위험한 상황이 되겠죠?

 

그럼 이제 실제로 위의 상황을 코드로 재현해보도록 합시다.

password = '1234'
if input("비밀번호를 입력하세요. : ") == '1234':
    print("비밀번호가 일치합니다.")
else:
    print("비밀번호가 일치하지않습니다.")

위의 코드는 사용자로부터 비밀번호를 입력받아서 해당 비밀번호의 일치 여부를 확인하는 코드입니다.

이때 input함수가 사용자에게 데이터를 입력받는 함수인데, 이때 입력받는 데이터는 문자열이 됩니다.

 

이렇듯 조건문은 프로그램을 보다 다양한 동작을 할 수 있도록 해주는 매우 중요한 문법입니다.

그럼 이제 이 조건문에 대해 좀 더 자세히 알아보도록 합시다.

if문


먼저, if문에 대해서 알아볼탠데, if문을 쓸 때 사용하는 '예약어'는 if입니다.

예약어란 프로그래밍 언어 자체에서 사용하도록 이미 정해놓은 몇 가지 단어들입니다.

다시 돌아와서, 예약어인 if를 적어주신 뒤 한 칸 띄우고 조건을 입력해줍니다.

 

이때 사용하는 조건의 참과 거짓 여부에 따라서 이후 실행할 코드가 결정됩니다.

파이썬에서 이 참과 거짓 여부는 자료형에 따라서 다른데, 표로 간단하게 몇 가지 확인하고 가도록 하겠습니다.

위의 표를 보시면 숫자형은 0외의 모든 숫자는 참으로 인식되며, 0만이 거짓으로 인식됩니다.

이외의 문자형, 리스트, 튜플 등은 빈 자료형은 거짓으로 인식되며, 그 외에 값이 들어있는 자료형들은 참으로 인식됩니다.

위의 표에 없는 논리형(boolean)의 경우 당연히 True는 참, False는 거짓으로 인식됩니다.

비교연산자


이외에도 if문의 조건을 수식을 통해 정할 수도 있습니다.

이때는 보통 비교연산자를 사용해서 데이터의 일치여부, 대소관계 등을 비교해 참과 거짓을 확인합니다.

이 비교연산자를 표를 통해서 확인하도록 합시다.

비교연산자는 우리가 수학에서 흔히 사용해왔기 때문에 이미 알고 계실 겁니다.

하지만 수학과 다르게 프로그래밍 언어에서 =는 이미 오른쪽의 값을 왼쪽에 대입한다는 의미로 쓰이기 때문에

두 값의 일치 여부를 검사할 때에는 ==을 사용한다는 점이 다릅니다.

또한 비교연산자는 연산 결과로 boolean형인 True또는 False를 반환합니다.

 

이렇게 조건을 지정하고, 그 줄의 마지막에 :을 적고 엔터를 눌러 다음 줄로 넘어갑니다.

그러면 자동적으로 아래와 같이 들여쓰기가 될 것입니다.

if input("비밀번호를 입력하세요. : ") == '1234':
    print("비밀번호가 일치합니다.")

그러면 여기서부터는 위의 조건이 참일 때 실행할 코드를 적는 부분이 되며, 이 들여쓰기를 없앨 때까지 계속됩니다.

 

그렇다면 조건이 거짓이라면 어떻게 할까요?

이때는 else라는 예약어를 사용합니다.

else의 뒷부분에는 아무런 조건도 적지 않으며, 동일하게 :을 입력하고 엔터를 입력하면 들여쓰기가 됩니다.

else:
    print("비밀번호가 일치하지않습니다.")

그러면 이 부분부터는 위의 조건이 거짓일 때 실행할 코드를 적는 부분이 되는 것입니다.

 

이번 글은 이 정도로 마치도록 하겠습니다.

감사합니다.

 

반응형

'프로그래밍 언어 > 파이썬' 카테고리의 다른 글

파이썬 19. 반복문-for문  (0) 2020.10.29
파이썬 18. if문-2  (0) 2020.10.27
파이썬 16. set관련 함수  (0) 2020.10.07
파이썬 15. set(집합)  (0) 2020.10.06
파이썬 14. 딕셔너리 관련 함수  (0) 2020.10.05