Python

파이썬을 배워보자!(조건문 if)

25G 2021. 3. 31. 22:02

안녕하세요~!!! 오늘은 조건문에 대해서 얘기해 보겠습니다! 프로그래밍 언어를 배울 때 저는 여기서부터 조금씩 뭔가가 어려워지고 있고 소스코드를 분석해야만 공부가 되는 그런 시기를 맞이했습니다! 오늘은 조건문에 대해서 얘기해 보겠습니다! 프로그래밍 언어를 배울 때 저는 여기서부터 조금씩 뭔가가 어려워지고 있고 소스코드를 분석해야만 공부가 되는 그런 시기를 맞이했습니다

바로 조건문을 보시죠! 

조건문은 말 그대로 어떠한 조건을 걸어서 그 조건이 '참'일 때만 그 조건문 안에 있는 소스코드들이 실행되는 거라고 생각하시면 될 것 같습니다! 위에 주석에 적혀 있듯이 프로그램의 흐름을 만들기 시작 한느 단계인 것 같습니다. 그전까진 그냥 위에서 아래로 쭉~~~ 써내려 가는 거라고 생각하셨다면 지금부터는 이 조건문 하나로도 어마어마하게 달라질 것입니다.

위처럼 간단한 소스코드를 입력 해 봤는데요! 위 if 다음에는 조건을 넣어줘서 그 조건이 참일 때 if안에 있는 소스코드들이 실행되는 구조입니다. if True라고 아예 참이라고 지정해버리는 소스코드인데요! 참이기 때문에 if False를 만나기 전에 위 소스코드들은 실행될 것입니다. 당연히 주석은 빼야겠죠? ㅎㅎ 

그리고 위 if문의 실행이 다끝나고 다시 제어가 그 밑에 있는 if False를 도달하게 될 것입니다. 그러면 컴퓨터가 if를 만났으니 if앞에 있는 조건을 보고 그 조건이 참(True)인지 거짓(False)인지 판단하게 됩니다. 그럼 if False를 만났으니 컴퓨터는 거짓으로 판단하고 False아래에 있는 소스코드는 실행이 되지 않게 됩니다. 그리고 프로그램이 종료되는 것이 아니라

if문을 빠져나오면서 그 if문 아래에 더 이상 소스코드가 없다면 프로그램이 종료되고 if 문 밑에 소스코드가 있다면 그 소스코드들을 위에서 아래대로 한줄한줄 읽어나가겠죠

 

이번에는 좀더 실질적인 식이 들어있는 그런 코드들을 보여드리기.... 전에!!!!!!!

 

코드 블록에 대해서 말씀을 드려야겠습니다!

위 주석에 적혀있듯이 파이썬은 어떠한 코드에 대한 영역을 나눌 때 들여 쓰기를 해서 그 영역 안에 영향을 받는 코드들을 작성해야 한다는 말입니다!

그래서 위와 같이 if 문 밑에 있는 코드들이 들여 쓰기 돼있는 건 보기 좋으라고 한 것이 아니라 사실은 if문안에 영향을 받는 코드입니다~ 라는걸 파이썬이 컴퓨터에 알려주는 것이지요!

위 코드에 주석은 없다고 생각하고 코드를 봐주시면 감사하겠습니다. 

부끄럽지만 코드를 해석해 보자면

 

print로 사용자에게 요구사항을 알려준 다음 findust라는 변수에 int형 input(입력)을 입력해서 사용자가 미세먼지농도를 입력할 수 있게 해주고 있습니다 그리고 제어가 54번 줄로 넘어가게 되는데 이때 if문을 만나게 되죠? findust라는 변수에 들어있는 값이 정수 5보다 작거나 같을 때(>=) 이 if문을 실행해라~라는 '조건'을 걸어놨습니다. 그래서 만약에 사용자가 5 이하의 정수를 입력하게 됐다면 54번째 구문이 참이므로 그 아래 있는 소스코드들이 실행이 되겠죠! 

 

그리고 58~64까지의 소스코드도 똑같은 원리로 돌아가고 있습니다

 

그럼 조금만더 심화적인 내용도 들어가 보실까요?!

네! ㅎㅎ 눈썰미가 있으신분은 이마 뭐가 다르고 새로운 친구가 나왔다고 생각하실 거예요.

바로 elif와 else가 추가되었죠! 하지만 걱정 마세요 생각보다 간단한 친구입니다!

위 소스코드를 차근차근 보면 x에 10이 들었고  y에 7이 들어있는 상태로 4번으로 가서 if문을 만나게 됩니다!

자 조건을 볼까요? x가 y를 초과하나요? 라 하면 true기 때문에 if문이 실행됩니다 그리고 제어가 밑으로 내려가는게게아니라 위 조건문을 탈출하게 됩니다 쉽게 말씀 드면 10번으로 간다는 얘기죠

하지만 여러분 만약에 

x=7

y=10

이라고 가정하여보면 4번에 있는 if문은 false가 되죠? 그러면 제어가 해당 if문을 빠져나가는 게 아닌 if문 안에 있는 elif를 만나게 됩니다! elif에 조건문이 참이 되면서 "x가 작습니다"가 출력되고 제어가 10번으로 빠져나가게 되는 거죠 

이처럼 elif는 쉽게 설명드리자면 "또는"과 같습니다 if문안에서 또 새로운 조건문을 달아서 프로그램의 제어를 좀 더 폭넓고 다양하게 해주는 문구이죠

 

그럼 8번에 있는 else는 뭐냐고요?

else는 if도 false고 elif도 false면 실행이 되는 구문입니다! 쉽게 말씀드리자면 "그 외에 모든 경우"라고 말씀드리면 좀 더 이해하기 쉬우시려나요?? 저는 이렇게 이해했거든요 ㅎㅎ 

 

이렇게 오늘 조건문에 대해서 빈약하지만 간단하게 설명드려봤습니다.. 아직 배우는 단계라 이런 간단한 것을 설명할 때조차도 실수가 많을 수 있으니 가볍게 글을 봐주시면 감사하겠습니다.

긴 글 읽어주셔서 감사합니다.