본문 바로가기
파이썬

[파이썬 강좌] 5. 조건문 (if, if~else, Elif)

by GDBS 2020. 8. 22.
반응형
728x170

이전 튜토리얼에서 우리는 예제와 함께 사용 방법과 접근 방법과 같은 다양한 Python 연산자에 대해 논의했습니다 .  이 Python 자습서 시리즈에서 핵심 Python  배웁니다 .

우리는 매일 실시간 시나리오를 고려할 때 몇 가지 결정을 내리고 내린 결정에 따라 추가 조치를 취합니다.

따라서 우리의 모든 일상 활동은 우리가 내리는 결정에 달려 있습니다.

프로그래밍 언어에서도 비슷한 상황이 발생합니다. 여기서 우리는 몇 가지 결정을 내려야하고 그에 따라 프로그램을 실행할 것입니다.

파이썬은 네 가지 조건문을 제공합니다. 이 튜토리얼에서는 이해하기 쉽도록 간단한 설명, 구문 및 간단한 예제와 함께 조건문에 대해 학습합니다.

 

Pycharm 설치

Pycharm은 Windows, Linux 및 Mac과 같은 다양한 플랫폼에서 사용할 수있는 무료 오픈 소스 도구입니다.

  • 아래 링크 Pycharm 에서 Pycharm 커뮤니티 에디션을 다운로드하십시오 .
  • 화면의 지시에 따라 Pycharm을 설치하십시오.
  • PyCharm이 설치되면 프로젝트를 만듭니다.
  • 프로젝트를 생성하려면 파일 => 새 프로젝트 => 프로젝트 이름을 입력하고 생성을 클릭하십시오.

Python의 조건문

프로그래밍 언어에서 대부분의 경우 프로그램 실행 흐름을 제어해야합니다. 주어진 조건이 충족되는 경우에만 일부 명령문 세트를 실행하고 만족하지 않으면 다른 명령문 세트를 실행하려고합니다. 이를 제어문 또는 의사 결정문이라고도합니다.

조건문은 의사 결정문이라고도합니다. 주어진 조건이 참 또는 거짓 일 때 코드 블록을 실행하고자 할 때이 문을 사용합니다.

파이썬에서는 아래 문장을 사용하여 의사 결정을 내릴 수 있습니다.

  • If 문
  • If-else 문
  • Elif 문
  • 중첩 된 if 및 if-else 문
  • Elif 사다리

이 자습서에서는 몇 가지 실시간 예제와 함께 모든 문에 대해 자세히 설명합니다.

 

if 문

If 문은 대부분의 프로그래밍 언어에서 가장 일반적으로 사용되는 조건문 중 하나입니다. 특정 명령문을 실행해야하는지 여부를 결정합니다. 문이 주어진 조건을 확인하고 조건이 참이면 if 블록 안에있는 코드 세트가 실행됩니다.

If 조건은 부울 식을 평가하고 부울식이 TRUE가 될 때만 코드 블록을 실행합니다.

의미:

If (부울 표현식) : 코드 블록 # 조건이 참인 경우 실행할 명령문 세트

여기서 조건은 부울 식 (true 또는 false)으로 평가됩니다. 조건이 참이면 if 블록 안에있는 명령문이나 프로그램이 실행되고 조건이 거짓이면 if 블록 안에있는 명령문이나 프로그램이 실행되지 않습니다.

플로우 차트에서 어떻게 보이는지 봅시다.

위의 순서도를 살펴보면 컨트롤러는 먼저 if 조건에 도달하여 조건이 참이면 명령문이 실행되고 그렇지 않으면 블록 외부에있는 코드가 실행됩니다.

if 문에 대한 몇 가지 예를 살펴 보겠습니다.

예 : 1

Num = 5

If(Num < 10):

        print(“Num is smaller than 10”)

 

print(“This statements will always be executed”)

출력 : Num은 10보다 작습니다.

이 문은 항상 실행됩니다.

산출:

위의 예에서 값이 5 인 'Num'이라는 변수를 선언했고 if 문에서 숫자가 10보다 작은 지 여부를 확인하고 조건이 참이면 if 블록 내부의 문 집합이 실행됩니다.

예 : 2

a = 7

b = 0

if (a > b):

            print(“a is greater than b”)

산출:

a가 b보다 큽니다.

위의 예에서는 if 조건에서보다 큼 (>) 연산자를 사용하여 a와 b의 관계를 확인하고 있습니다. a가 b보다 크면 'a가 b보다 큽니다'가 인쇄됩니다.

예 : 3

a = 7

b = 0

if (b < a):

           print(“b is greater than a”)

산출:

B는 a보다 큽니다.

예 : 4

a = 7

b = 0

if(a):

              print(“true”)

산출:

진실

위의 예에서 관찰하면 if 문의 조건을 사용하거나 평가하지 않습니다. 모든 프로그래밍 언어에서 양의 정수는 참 값으로 처리되고 0보다 작거나 0과 같은 정수는 거짓으로 처리된다는 점을 항상 기억하십시오.

여기서 a의 값은 양수인 7이므로 콘솔 출력에 true로 인쇄됩니다.

예 : 5

if (‘python’ in [‘Java’, ‘python’, ‘C#’]):

print(“true”)

산출:

진실

여기서는 'python'요소가 주어진 목록에 있는지 여부를 확인합니다. 'python'은 주어진 목록에 있으므로 true를 인쇄합니다.

if 문을 사용할 실시간 예제를 살펴 보겠습니다.

예를 들어 총점 100 점에 대한 시험을 작성했으며 점수가 60 점 이상이면 시험에서 PASS로 간주됩니다.

이에 대한 코드를 작성해 보겠습니다.

예 : 6

passing_Score = 60

my_Score = 67

if(my_Score >= passing_Score):

             print(“Congratulations!!!”)

             print(“You are passed in the exam”)

산출:

축하합니다!!!
시험에 합격했습니다.

콜론 연산자 다음에 작성하는 코드는 무엇이든 if 블록과 들여 쓰기의 일부가되므로 파이썬에서는 매우 중요하므로 if 줄 끝에 (:) 연산자를 사용하는 것을 잊지 마십시오.

예 : 7

passing_Score = 60

my_Score = 67

if(my_Score >= passing_Score):

             print(“You are passed in the exam”)

print(“Congratulations!!!”)

산출:

시험에 합격했습니다
축하합니다 !!!

여기서 print ( "Congratulations !!!") 문은 주어진 조건이 참 또는 거짓 인 경우에도 항상 실행됩니다.

위 코드의 문제점은 조건이 참 또는 거짓으로 평가 되더라도 'print ( "Congratulations !!!")'문이 항상 실행된다는 것입니다. 그러나 실시간으로 시험에 합격하거나 시험에 불합격하면 시스템에서 축하합니다 !!!라고 표시됩니다.

이것을 피하기 위해 파이썬은 if-else라는 조건문을 제공합니다.

 

 

if - else 문

명령문 자체는 주어진 조건이 참이면 if 블록 안에있는 명령문을 실행하고 조건이 거짓이면 else 블록을 실행한다고 말합니다.

Else 블록은 조건이 거짓이 될 때만 실행되며, 조건이 참이 아닐 때 일부 작업을 수행 할 블록입니다.

If-else 문은 Boolean 표현식을 평가하고 조건이 TRUE가되면 if 블록 안에있는 코드 블록을 실행하고 조건이 FALSE가되면 else 블록에있는 코드 블록을 실행합니다.

의미:

if (부울 표현식) : 코드 블록 # 조건이 참인 경우 실행할 명령문 세트 그밖에: 코드 블록 # 조건이 거짓 인 경우 실행할 명령문 세트

여기서 조건은 부울 식 (true 또는 false)으로 평가됩니다. 조건이 참이면 if 블록 안에있는 명령문이나 프로그램이 실행되고 조건이 거짓이면 else 블록 안에있는 명령문이나 프로그램이 실행됩니다.

if-else의 순서도를 보자

위의 순서도를 관찰하면 먼저 컨트롤러가 if 조건에 도달하고 조건이 참이면 조건을 평가 한 다음 if 블록의 문이 실행되고 그렇지 않으면 else 블록이 실행되고 나중에 나머지 코드가 다음과 같은 경우 외부에있는 코드가 실행됩니다. -else 블록이 실행됩니다.

예 : 1

num = 5

if(num > 10):

     print(“number is greater than 10”)

else:

     print(“number is less than 10”)

 

print(“This statement will always be executed”)

산출:

숫자가 10보다 작습니다.

이 문은 항상 실행됩니다.

산출:

위의 예에서 값이 5 인 'num'이라는 변수를 선언했으며 if 문에서 숫자가 5보다 큰지 확인합니다.

숫자가 5보다 크면 if 블록 안에있는 코드 블록이 실행되고 조건이 실패하면 else 블록 안에있는 코드 블록이 실행됩니다.

예 : 2

a = 7

b = 0

if(a > b):

           print(“a is greater than b”)

else:

           print(“b is greater than a”)

산출:

a가 b보다 큽니다.

위 코드에서 a가 b보다 크면 if 블록 안에있는 문이 실행되고 else 블록 안에있는 문은 건너 뜁니다.

예 : 3

a = 7

b = 0

if (a < b):

            print(“a is smaller than b”)

else:

            print(“b is smaller than a”)

산출:

b는 a보다 작습니다

위 코드에서 a는 b보다 작으므로 else 블록 안에있는 문이 실행되고 if 블록 안에있는 문은 건너 뜁니다.

이제 실시간 예제를 살펴 보겠습니다.

예 : 4

passing_Score = 60

my_Score = 67

if(my_Score >= passing_Score):

             print(“Congratulations!!!”)

             print(“You are passed in the exam”)

else:

             print(“Sorry!!!”)

             print(“You are failed in the exam, better luck next time”)

산출:

축하합니다!!!
시험에 합격했습니다.

예 : 5

passing_Score = 60

my_Score = 47

if(my_Score >= passing_Score):

             print(“Congratulations!!!”)

             print(“You are passed in the exam”)

else:

             print(“Sorry!!!”)

             print(“You are failed in the exam, better luck next time”)

산출:

죄송합니다!!!
당신은 시험에 실패했습니다. 다음에 행운을 빕니다.

 

elif 문

파이썬에는 elif 문이라는 조건문이 하나 더 있습니다. Elif 문은 if 조건이 false 인 경우에만 여러 조건을 확인하는 데 사용됩니다. if-else 문과 유사하며 다른 점은 조건을 확인하지 않고 elif에서는 조건을 확인한다는 것뿐입니다.

Elif 문은 if-else 문과 비슷하지만 elif 문은 여러 조건을 평가합니다.

의미:

if (조건) : # 조건이 참인 경우 실행할 명령문 세트 elif (조건) : # condition이 false이고 elif condition이 true 일 때 실행할 명령문 세트 그밖에: #if 및 elif 조건이 모두 거짓 일 때 실행될 명령문 세트

예 : 1

num = 10

if (num == 0):

     print(“Number is Zero”)

 

elif (num > 5):

       print(“Number is greater than 5”)

 

else:

       print(“Number is smaller than 5”)

산출:

숫자가 5보다 큽니다.

산출:

위의 예에서 우리는 값이 10 인 'num'이라는 변수를 선언했으며 if 문에서 조건이 참이되면 조건을 확인합니다. 그러면 if 조건 안에있는 코드 블록이 실행됩니다.

조건이 거짓이되면 조건이 참이되면 elif 조건을 검사하고 elif 문 안에있는 코드 블록이 실행됩니다.

거짓이면 else 문 안에있는 코드 블록이 실행됩니다.

예 : 2

num = -7

if (num &gt; 0):

              print(“Number is positive”)

elif (num &lt; 0):

              print(“Number is negative”)

else:

              print(“Number is Zero”)

산출:

숫자가 음수입니다.

위의 예에서 먼저 num이라는 변수에 값 7을 할당합니다. 컨트롤러는 if 문에 와서 부울 표현식 num> 0을 평가하지만 숫자는 0보다 크지 않으므로 블록을 건너 뛰게됩니다.

조건이 거짓으로 평가되는 것처럼 컨트롤러는 elif 문에 와서 부울 표현식 num <0을 평가합니다. 따라서 우리의 경우 숫자는 0보다 작으므로 '숫자는 음수'가 인쇄됩니다.

if 및 elif 조건이 모두 거짓으로 평가되면 else 블록 내에있는 일련의 명령문이 실행됩니다.

 

 

중첩된 if-else 문

중첩 된 if-else 문은 if 문 또는 if-else 문이 다른 if 또는 if-else 블록 내에 있음을 의미합니다. 파이썬은이 기능도 제공하므로 주어진 프로그램에서 여러 조건을 확인하는 데 도움이됩니다.

if 문이 다른 if 문 내부에 존재하며 다른 if 문 등에 존재합니다.

중첩 if 구문 :

if (조건) : # 조건이 참인 경우 실행할 문 if (조건) : # 조건이 참인 경우 실행할 문 # 중첩 if의 끝 # if 끝

위의 구문은 if 블록에 또 다른 if 블록이 포함된다는 것을 명확하게 말합니다. If 블록은 내부에 if 블록의 'n'개를 포함 할 수 있습니다.

예 : 1

num = 5

if(num >0):

       print(“number is positive”)

 

if(num<10):

       print(“number is less than 10”)

산출:

숫자는 양수입니다

숫자가 10보다 작습니다.

산출:

위의 예에서는 값이 5 인 'num'이라는 변수를 선언했습니다.

먼저 조건이 참이면 첫 번째 if 문을 확인하고 첫 번째 if 문 안에있는 코드 블록이 실행되고 첫 번째 if 문이 참이면 두 번째 if 문을 확인하는 식입니다.

예 : 2

num = 7

if (num != 0):

              if (num > 0):

                            print(“Number is greater than Zero”)

산출:

숫자가 0보다 큽니다.

여기서 컨트롤러는 주어진 숫자가 0과 같지 않은지 확인하고, 숫자가 0이 아니면 첫 번째 if 블록에 들어가고 두 번째 if 블록에 숫자가 0보다 큰지 확인합니다. 참이면 컨트롤이 중첩 된 if 블록에 들어가서 명령문을 실행하고 블록을 떠나 프로그램을 종료합니다.

예 : 3

if (‘python’ in [‘Java’, ‘python’, ‘C#’]):

                         print(“Python is present in the list”)

                         if (‘C#’ in [‘Java’, ‘python’, ‘C#’]):

                                  print(“Java is present in the list”)

                                  if (‘C#’ in [‘Java’, ‘python’, ‘C#’]):

                                           print(“C# is present in the list”)

산출:

Python이 목록에 있음
Java가 목록에 있음
C #이 목록에 있음

중첩 된 if-else 구문 :

if (조건) : # 조건이 참인 경우 실행할 문 if (조건) : # 조건이 참인 경우 실행할 문 그밖에: # 조건이 거짓 인 경우 실행할 문 그밖에: # 조건이 거짓 인 경우 실행할 문

여기서 우리는 if 블록 안에 if-else 블록을 포함 시켰으며, else 블록 안에 if-else 블록을 포함 할 수도 있습니다.

예 : 3

num = -7

if (num != 0):

          if (num > 0):

                      print(“Number is positive”)

           else:

                      print(“Number is negative”)

else:

           print(“Number is Zero”)

산출:

숫자가 음수입니다.

 

elif 사다리 구문

우리는 elif 문에 대해 보았지만이 elif 래더는 무엇입니까? 이름 자체가 래더 형태로 구성된 elif 문 또는 elif 문 래더를 포함하는 프로그램을 암시합니다.

이 문은 여러 식을 테스트하는 데 사용됩니다.

의미:

if (조건) : # 조건이 참인 경우 실행할 명령문 세트 elif (조건) : # condition이 false이고 elif condition이 true 일 때 실행할 명령문 세트 elif (조건) : #if와 첫 번째 elif 조건이 모두 거짓이고 두 번째 elif 조건이 참일 때 실행할 명령문 세트 elif (조건) : #if, 첫 번째 elif 및 두 번째 elif 조건이 거짓이고 세 번째 elif 문이 참일 때 실행할 명령문 세트 그밖에: # 모든 if 및 elif 조건이 거짓 일 때 실행할 명령문 세트

예 : 1

my_marks = 89

if (my_marks &lt; 35):

              print(“Sorry!!!, You are failed in the exam”)

elif(my_marks &lt; 60): print(“Passed in Second class”) elif(my_marks &gt; 60 and my_marks &lt; 85):

              print(“Passed in First class”)

else:

              print(“Passed in First class with distinction”)

산출:

차별화 된 퍼스트 클래스 통과

위의 예는 elif 래더를 설명합니다. 먼저 컨트롤은 if 문에 들어가서 조건이 참이면 조건을 평가합니다. 그러면 if 블록 안에있는 문 집합이 실행되고 그렇지 않으면 건너 뛰고 컨트롤러가 첫 번째 elif 블록으로 가서 조건을 평가합니다.

나머지 모든 elif 문에 대해 유사한 프로세스가 계속되고 모든 if 및 elif 조건이 false로 평가되는 경우 else 블록이 실행됩니다.

 

[한 줄의 If-else]

파이썬에서는 들여 쓰기에 대한 걱정없이 if 문, if-else 문, elif 문을 한 줄로 작성할 수 있습니다.

한 줄의 If 문

아래와 같이 if 문을 작성할 수 있습니다.

구문의미:

if (조건) : # 조건이 참인 경우 실행할 명령문 세트

파이썬에서는 위의 블록과 비슷하게 한 줄에 위 블록을 쓰는 것이 허용됩니다.

구문의미:

if (조건) : # 조건이 참인 경우 실행할 명령문 세트

문장이 여러 개있을 수도 있습니다. 세미콜론 (;)으로 구분하면됩니다.

구문의미:

if (조건) : 진술 1; 성명서 2; 문 3;…; 문 n

조건이 참이면 문 1, 문 2 등을 문 n까지 실행합니다.

조건이 거짓이면 어떤 문도 실행되지 않습니다.

예 : 1

num = 7

if (num &gt; 0): print(“Number is greater than Zero”)

산출:

숫자가 0보다 큽니다.

예 : 2

if (‘y’ in ‘Python’): print(‘1’); print(‘2’); print(‘3’)

산출:

1
2
3

 

[한 줄의 If-else 문]

구문의미:

if (조건) : # 조건이 참인 경우 실행할 명령문 세트 그밖에: # 조건이 거짓 인 경우 실행할 명령문 세트

위의 if-else 블록도 아래와 같이 작성할 수 있습니다.

구문의미:

if (조건) : # 조건이 참인 경우 실행할 명령문 세트 else : # 조건이 거짓 인 경우 실행할 명령문 세트

문장이 여러 개있을 수도 있습니다. 세미콜론 (;)으로 구분하면됩니다.

구문의미:

if (조건) : 진술 1; 성명서 2; 문 3;…; 문 n else : 문 1; 성명서 2; 문 3;…; 문 n

예 : 1

num = 7

if (num &lt; 0): print(“Number is greater than Zero”)

else: print(“Number is smaller than Zero”)

산출:

숫자가 0보다 작습니다.

예 : 2

if (‘a’ in ‘fruits’): print(“Apple”); print(“Orange”)

else: print(“Mango”); print(“Grapes”)

산출:

망고
포도

 

[한 줄로 된 elif 문]

통사론:

if (조건) : # 조건이 참인 경우 실행할 명령문 세트 elif (조건 1) : # condition1이 true 인 경우 실행할 명령문 세트 그밖에: # condition 및 condition1이 false 인 경우 실행할 명령문 세트

위의 elif 블록은 다음과 같이 작성할 수도 있습니다.

통사론:

if (조건) : # 조건이 참인 경우 실행할 명령문 세트 elif (condition1) : # condition1이 참인 경우 실행할 명령문 세트 else : # condition 및 condition1이 false 인 경우 실행할 명령문 세트

문장이 여러 개있을 수도 있습니다. 세미콜론 (;)으로 구분하면됩니다.

통사론:

if (조건) : 진술 1; 성명서 2; 문 3;…; 문 n elif (조건) : 문 1; 진술 2; 문 3;…; 문 n else : 문 1; 성명서 2; 문 3;…; 문 n

예 : 1

num = 7

if (num &lt; 0): print(“Number is smaller than Zero”) elif (num &gt; 0): print(“Number is greater than Zero”)

else: print(“Number is Zero”)

산출:

숫자가 0보다 큽니다.

예 : 2

if (‘a’ in ‘fruits’): print(“Apple”); print(“Orange”)

elif (‘u’ in ‘fruits’): print(“Mango”); print(“Grapes”)

else: print(“No fruits available”)

산출:

망고
포도

[if 문의 여러 조건]

if 문 안에 하나의 조건 만 작성할 수있는 것이 아니라 아래와 같이 if 문에서 여러 조건을 평가할 수도 있습니다.

예 : 1

num1 = 10

num2 = 20

num3 = 30

if (num1 == 10 and num2 == 20 and num3 == 30):

             print(“All the conditions are true”)

산출:

모든 조건이 참입니다

여기서 if 문에서 AND 연산자를 사용하여 여러 조건을 확인합니다. 즉, if 블록 내부의 문이 실행될 때만 모든 조건이 참인지 여부를 의미합니다.

OR 연산자도 지정할 수 있습니다.

예 : 2

fruitName = “Apple”

if (fruitName == “Mango” or fruitName == “Apple” or fruitName == “Grapes”):

              print(“It’s a fruit”)

산출:

과일이야

여기에서 세 가지 조건 중 if 문에서 OR 연산자의 규칙이므로 하나의 조건 만 참입니다. 하나의 조건이 참이면 해당 조건은 참이되고 if 블록 안에있는 문이 실행됩니다.

한 달에 존재하는 일 수를 찾기위한 실시간 시나리오를 고려해 봅시다. 윤년 동안 일 수가 변경된다는 것을 알고 있습니다. if, elif 및 else 문을 사용하여 프로그래밍 방식으로이를 확인합니다.

예 : 1

currentYear = int(input(“Enter the year: ”))

month = int(input(“Enter the month: ”))

if ((currentYear % 4) == 0 and (currentYear % 100) != 0 or (currentYear % 400) == 0):

            print (“Leap Year”)

            if (month == 1 or month == 3 or month == 5 or month == 7 or month == 8 or month == 10 or month == 12):

                       print (“There are 31 days in this month”)

            elif (month == 4 or month == 6 or month == 9 or month == 11):

                       print(“There are 30 days in this month”)

            elif (month == 2):

                         print(“There are 29 days in this month”)

            else:

                         print(“Invalid month”)

elif ((currentYear % 4) != 0 or (currentYear % 100) != 0 or (currentYear % 400) != 0):

print (“Non Leap Year”)

              if (month == 1 or month == 3 or month == 5 or month == 7 or month == 8 or month == 10 or month == 12):

                        print (“There are 31 days in this month”)

              elif (month == 4 or month == 6 or month == 9 or month == 11):

                        print(“There are 30 days in this month”)

              elif (month == 2):

                        print(“There are 28 days in this month”)

              else:

                        print(“Invalid month”)

else:

              print(“Invalid Year”)

출력 : 1

연도 입력 : 2020
월 입력 : 4
이번 달에는 30 일이 있습니다.

출력 : 2

연도 입력 : 2020
월 입력 : 1
이번 달에는 31 일이 있습니다.

출력 : 3

연도 입력 : 2019
월 입력 : 2
이번 달에는 28 일이 있습니다.

출력 : 4

연도 입력 : 2020
월 입력 : 2
이번 달에는 29 일이 있습니다.

 

 

이 자습서에서는 Python의 조건문에 대해 배웠습니다. 이것은 우리 프로그램에서 실행의 제어 흐름을 변경하는 명령문입니다.

프로그램 실행을 제어하는 ​​if, if-else, elif, 중첩 된 if 및 중첩 된 if-else 문과 같은 다양한 유형의 조건문이 있습니다.

명령문이 부울 표현식을 참 또는 거짓으로 평가하면 조건이 참이면 if 블록 내부의 명령문이 실행됩니다. 조건이 거짓이면 else 블록 안에있는 명령문은 작성한 경우에만 실행됩니다. else 블록.

이전의 if 또는 elif 문에 따라 실행되는 else 문과 if 문이 결합 된 elif 문이라는 문이 하나 더 있습니다.

노트:

  • Python은 확인 및 유효성 검사에 유용한 조건문을 제공합니다.
  • Python에는 특정 문이나 코드 블록을 반복적으로 실행하는 데 도움이되는 두 가지 유형의 반복 문이 있습니다.
  • 반복해야하는 횟수를 모르는 경우 'while 루프'를 사용하고 반복해야하는 횟수를 알면 'for 루프'가 가장 좋습니다.
  • Python은 프로그램 실행 흐름을 제어하는 ​​데 도움이되는 3 개의 제어문을 제공합니다.

Python의 루핑에 대해 자세히 알아 보려면 다가오는 자습서를 참조하십시오!

728x90
반응형

댓글