윤년 또는 평년

PythonBeginner
지금 연습하기

소개

이 프로젝트에서는 주어진 연도가 윤년인지 평년인지 판별하는 방법을 배우게 됩니다. 연도를 입력으로 받아 윤년인지 평년인지 출력하는 Python 함수를 구현할 것입니다.

👀 미리보기

Please enter a year: 2000
>>> The year is a leap year

Please enter a year: 1900
>>> The year is a common year

Please enter a year: 1582
>>> Please enter a year after 1582

🎯 과제

이 프로젝트에서 다음을 배우게 됩니다:

  • 연도가 윤년인지 평년인지 확인하는 함수를 구현하는 방법
  • 유효한 연도, 유효하지 않은 연도, 정수가 아닌 입력 등 다양한 유형의 입력을 처리하는 방법
  • 입력 연도에 따라 적절한 출력을 인쇄하는 방법

🏆 성과

이 프로젝트를 완료하면 다음을 수행할 수 있습니다:

  • 윤년과 평년의 개념을 이해합니다.
  • 주어진 연도의 유형을 결정하는 Python 함수를 작성합니다.
  • 다양한 입력 시나리오를 처리하기 위해 오류 처리를 구현합니다.
  • Python 에서 조건문과 데이터 유형에 대한 지식을 적용합니다.

leap_year 함수 구현

이 단계에서는 leap_year.py 파일에서 leap_year 함수를 구현하는 방법을 배우게 됩니다.

  1. 선호하는 코드 편집기에서 leap_year.py 파일을 엽니다.
  2. leap_year 함수 내부에 다음 코드를 추가합니다:
def leap_year() -> None:
    """
    주어진 연도가 윤년인지 평년인지 결정합니다.
    이 함수는 사용자에게 연도를 입력하라는 메시지를 표시하고 윤년인지 평년인지 확인합니다.

    반환 값:
        None
    """
    year = input("Please enter a year: ")
    try:
        year = int(year)
    except ValueError:
        print("Please enter a valid year!")
        return

    if year < 1582:
        print("Please enter a year after 1582")
        return
    elif year % 4 == 0 and (year % 100 != 0 or year % 400 == 0):
        print("The year is a leap year")
    else:
        print("The year is a common year")

이 함수는 먼저 사용자에게 연도를 입력하라는 메시지를 표시합니다. 그런 다음 입력이 유효한 정수인지 확인합니다. 입력이 유효한 정수가 아니면 "Please enter a valid year!"를 출력하고 반환합니다.

입력 연도가 1582 년 이전이면 "Please enter a year after 1582"를 출력하고 반환합니다.

연도가 4 로 나누어 떨어지지만 100 으로 나누어 떨어지지 않거나, 연도가 400 으로 나누어 떨어지면 윤년이며, 함수는 "The year is a leap year"를 출력합니다. 그렇지 않으면 평년이며, 함수는 "The year is a common year"를 출력합니다.

  1. leap_year.py 파일을 저장합니다.
✨ 솔루션 확인 및 연습

leap_year 함수 실행

이 단계에서는 leap_year 함수를 실행하고 다양한 입력 값으로 테스트하는 방법을 배우게 됩니다.

  1. 터미널 또는 명령 프롬프트를 열고 leap_year.py 파일이 있는 디렉토리로 이동합니다.
  2. 다음 명령을 실행하여 leap_year 함수를 실행합니다:
python3 leap_year.py
  1. 프로그램은 연도를 입력하라는 메시지를 표시합니다. 다음과 같은 다양한 값을 입력해 보세요:

    • 유효한 윤년 (예: 2000)
    • 유효한 평년 (예: 1900)
    • 1582 년 이전의 연도 (예: 1500)
    • 정수가 아닌 값 (예: "hello")

    출력을 관찰하고 각 입력에 대해 함수가 예상대로 동작하는지 확인합니다.

  2. 함수가 윤년과 평년을 올바르게 식별하고, 요구 사항에 따라 유효하지 않은 입력과 1582 년 이전의 연도를 처리하는지 확인합니다.

축하합니다! leap_year 함수를 성공적으로 구현하고 다양한 입력 값으로 테스트했습니다.

✨ 솔루션 확인 및 연습

요약

축하합니다! 이 프로젝트를 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.