Python 에서 숫자가 짝수인지 확인하는 방법

PythonBeginner
지금 연습하기

소개

이 랩에서는 Python 에서 숫자가 짝수인지 홀수인지 판별하는 방법을 배우게 됩니다. 먼저 짝수와 홀수의 기본 개념을 이해하는 것으로 시작하여, 2 로 나누어 떨어지는 정수 (짝수) 또는 나머지가 1 인 정수 (홀수) 로 정의합니다.

이 랩에서는 모듈로 연산자 (%) 를 사용하여 짝수 여부를 확인하는 방법을 안내합니다. if 문과 모듈로 연산자를 활용하여 주어진 숫자가 짝수인지 홀수인지 판별하고 출력하는 Python 스크립트를 만들 것입니다. 이 랩에는 VS Code 에서 스크립트를 생성하고 터미널에서 실행하기 위한 단계별 지침이 포함되어 있습니다.

짝수와 홀수에 대해 배우기

이 단계에서는 짝수와 홀수의 기본 개념을 살펴보겠습니다. 이러한 개념을 이해하는 것은 데이터 유효성 검사, 알고리즘 설계, 게임 개발 등 다양한 프로그래밍 작업에 매우 중요합니다.

짝수란 무엇인가요?

짝수는 2 로 정확히 나누어 떨어지는 정수입니다. 즉, 짝수를 2 로 나눌 때 나머지는 항상 0 입니다. 짝수의 예로는 2, 4, 6, 8, 10 등이 있습니다.

홀수란 무엇인가요?

홀수는 2 로 정확히 나누어 떨어지지 않는 정수입니다. 홀수를 2 로 나눌 때 나머지는 항상 1 입니다. 홀수의 예로는 1, 3, 5, 7, 9 등이 있습니다.

숫자가 짝수인지 홀수인지 판별하는 방법

프로그래밍에서는 주어진 숫자가 짝수인지 홀수인지 판별해야 하는 경우가 많습니다. Python 은 모듈로 연산자 (%) 를 사용하여 이를 수행하는 간단한 방법을 제공합니다. 모듈로 연산자는 나눗셈의 나머지를 반환합니다.

예를 들어, 7 % 2는 1 로 평가됩니다. 왜냐하면 7 을 2 로 나눌 때 나머지가 1 이기 때문입니다. 마찬가지로, 8 % 2는 0 으로 평가됩니다. 왜냐하면 8 을 2 로 나눌 때 나머지가 0 이기 때문입니다.

이를 설명하기 위해 간단한 Python 스크립트를 만들어 보겠습니다.

  1. WebIDE 에서 VS Code 편집기를 엽니다.

  2. ~/project 디렉토리에 even_odd.py라는 새 파일을 만듭니다.

    ~/project/even_odd.py
  3. even_odd.py 파일에 다음 코드를 추가합니다.

    number = 10
    if number % 2 == 0:
        print(number, "is an even number")
    else:
        print(number, "is an odd number")

    이 코드는 먼저 변수 number에 값 10 을 할당합니다. 그런 다음 if 문을 사용하여 number를 2 로 나눈 나머지가 0 과 같은지 확인합니다. 그렇다면 코드는 숫자가 짝수라고 출력합니다. 그렇지 않으면 숫자가 홀수라고 출력합니다.

  4. 터미널에서 다음 명령을 사용하여 스크립트를 실행합니다.

    python ~/project/even_odd.py

    다음 출력을 볼 수 있습니다.

    10 is an even number
  5. 이제 even_odd.py 파일에서 number의 값을 7 로 변경합니다.

    number = 7
    if number % 2 == 0:
        print(number, "is an even number")
    else:
        print(number, "is an odd number")
  6. 스크립트를 다시 실행합니다.

    python ~/project/even_odd.py

    이제 다음 출력을 볼 수 있습니다.

    7 is an odd number

이 간단한 예제는 Python 에서 모듈로 연산자를 사용하여 숫자가 짝수인지 홀수인지 판별하는 방법을 보여줍니다. 다음 단계에서는 이 기초를 바탕으로 더 복잡한 프로그램을 만들 것입니다.

모듈로 연산자 사용

이전 단계에서는 짝수와 홀수에 대해 배우고 모듈로 연산자 (%) 를 사용하여 숫자가 짝수인지 홀수인지 판별하는 방법을 배웠습니다. 이 단계에서는 모듈로 연산자를 더 자세히 살펴보고 다양한 응용 분야를 탐구하겠습니다.

모듈로 연산자 이해하기

모듈로 연산자 (%) 는 나눗셈의 나머지를 반환합니다. 구문은 a % b이며, 여기서 a는 피제수 (나누어지는 숫자) 이고 b는 제수 (나누는 숫자) 입니다. 결과는 나눗셈의 나머지입니다.

다음은 몇 가지 예입니다.

  • 7 % 2는 1 로 평가됩니다. 왜냐하면 7 을 2 로 나누면 몫이 3 이고 나머지가 1 이기 때문입니다.
  • 10 % 3은 1 로 평가됩니다. 왜냐하면 10 을 3 으로 나누면 몫이 3 이고 나머지가 1 이기 때문입니다.
  • 15 % 5는 0 으로 평가됩니다. 왜냐하면 15 를 5 로 나누면 몫이 3 이고 나머지가 0 이기 때문입니다.

모듈로 연산자의 응용 분야

모듈로 연산자는 프로그래밍에서 다음과 같은 많은 유용한 응용 분야를 가지고 있습니다.

  • 짝수 또는 홀수 판별: 이전 단계에서 보았듯이 number % 2 == 0number가 짝수임을 나타내고, number % 2 != 0number가 홀수임을 나타냅니다.
  • 순환 (Wrapping Around): 모듈로 연산자는 숫자 범위를 순환하는 데 사용할 수 있습니다. 예를 들어, 0 에서 9 까지의 숫자를 순환해야 하는 카운터가 있는 경우, 카운터가 10 에 도달하면 모듈로 연산자를 사용하여 카운터를 0 으로 재설정할 수 있습니다.
  • 자릿수 추출: 모듈로 연산자는 숫자의 마지막 자릿수를 추출하는 데 사용할 수 있습니다. 예를 들어, number % 10number의 마지막 자릿수를 반환합니다.

even_odd.py 스크립트를 수정하여 사용자 입력을 통해 숫자를 얻고 모듈로 연산자를 사용하여 짝수인지 홀수인지 확인해 보겠습니다.

  1. VS Code 편집기를 사용하여 ~/project 디렉토리에서 even_odd.py 파일을 엽니다.

  2. 다음과 같이 코드를 수정합니다.

    number_str = input("Enter an integer: ")
    number = int(number_str)
    
    if number % 2 == 0:
        print(number, "is an even number")
    else:
        print(number, "is an odd number")

    이 코드에서는 input() 함수를 사용하여 사용자에게 정수를 입력하라는 메시지를 표시합니다. input() 함수는 문자열을 반환하므로 int() 함수를 사용하여 문자열을 정수로 변환합니다. 그런 다음, 이전과 마찬가지로 모듈로 연산자를 사용하여 숫자가 짝수인지 홀수인지 확인합니다.

  3. 다음 명령을 사용하여 스크립트를 실행합니다.

    python ~/project/even_odd.py

    스크립트는 정수를 입력하라는 메시지를 표시합니다. 숫자를 입력하고 Enter 키를 누릅니다. 예를 들어:

    Enter an integer: 15

    그러면 스크립트는 숫자가 짝수인지 홀수인지 출력합니다.

    15 is an odd number

    모듈로 연산자가 어떻게 작동하는지 확인하기 위해 다른 숫자로 스크립트를 실행해 보십시오.

이 예제는 사용자 입력을 사용하여 숫자가 짝수인지 홀수인지 판별하기 위해 모듈로 연산자를 사용하는 방법을 보여줍니다. 다음 단계에서는 사용자에게 유효한 정수를 입력하도록 하기 위해 오류 처리를 추가할 것입니다.

숫자가 정수인지 확인

이전 단계에서는 input() 함수를 사용하여 사용자 입력을 받고 int() 함수를 사용하여 입력을 정수로 변환하는 방법을 배웠습니다. 그러나 사용자가 정수가 아닌 값 (예: "hello" 또는 "3.14") 을 입력하면 int() 함수는 ValueError 예외를 발생시켜 프로그램이 충돌하게 됩니다. 이 단계에서는 사용자가 유효한 정수를 입력하도록 하기 위해 오류 처리를 추가하겠습니다.

try-except를 사용한 오류 처리

Python 은 예외를 처리하기 위해 try-except 블록을 제공합니다. try 블록의 코드가 실행됩니다. 예외가 발생하면 except 블록의 코드가 실행됩니다.

기본 구문은 다음과 같습니다.

try:
    ## 예외를 발생시킬 수 있는 코드
except ValueError:
    ## ValueError 예외를 처리하는 코드

try 블록에서 ValueError가 발생하면 except ValueError 블록의 코드가 실행됩니다.

even_odd.py 스크립트를 수정하여 try-except 블록을 사용하여 잠재적인 ValueError 예외를 처리해 보겠습니다.

  1. VS Code 편집기를 사용하여 ~/project 디렉토리에서 even_odd.py 파일을 엽니다.

  2. 다음과 같이 코드를 수정합니다.

    while True:
        number_str = input("Enter an integer: ")
        try:
            number = int(number_str)
            break  ## 입력이 유효한 정수이면 루프 종료
        except ValueError:
            print("Invalid input. Please enter an integer.")
    
    if number % 2 == 0:
        print(number, "is an even number")
    else:
        print(number, "is an odd number")

    이 코드에서는 유효한 정수가 입력될 때까지 사용자에게 입력을 계속 요청하는 while True 루프를 추가했습니다. 루프 내부에는 try-except 블록이 있습니다. try 블록은 사용자의 입력을 정수로 변환하려고 시도합니다. 변환에 성공하면 break 문이 루프를 종료합니다. ValueError가 발생하면 (즉, 사용자가 정수가 아닌 값을 입력한 경우) except 블록은 오류 메시지를 출력하고 루프는 계속됩니다.

  3. 다음 명령을 사용하여 스크립트를 실행합니다.

    python ~/project/even_odd.py

    "hello"와 같은 정수가 아닌 값을 입력하면 다음 출력을 볼 수 있습니다.

    Enter an integer: hello
    Invalid input. Please enter an integer.
    Enter an integer:

    스크립트는 유효한 정수를 입력할 때까지 입력을 계속 요청합니다. 12 와 같은 유효한 정수를 입력하면 스크립트는 숫자가 짝수인지 홀수인지 출력합니다.

    Enter an integer: 12
    12 is an even number

이 예제는 사용자 입력을 정수로 변환할 때 잠재적인 ValueError 예외를 처리하기 위해 try-except 블록을 사용하는 방법을 보여줍니다. 이렇게 하면 프로그램이 더 강력하고 사용자 친화적이 됩니다.

요약

이 Lab 에서는 짝수와 홀수의 기본적인 개념을 탐구했습니다. 짝수는 2 로 나누어 떨어져 나머지가 0 이고, 홀수는 2 로 나누었을 때 나머지가 1 이라는 것을 이해했습니다.

Python 에서 모듈로 연산자 (%) 를 사용하여 숫자가 짝수인지 홀수인지 판별했습니다. 이를 시연하기 위해 간단한 Python 스크립트를 생성하고 실행하여 숫자를 2 로 나눈 나머지가 0 인지 확인하여 짝수를 식별했습니다.