Високосный или обычный год

PythonPythonBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом проекте вы научитесь определять, является ли заданный год високосным или обычным. Вы реализуете функцию на 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

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/ErrorandExceptionHandlingGroup(["Error and Exception Handling"]) python/BasicConceptsGroup -.-> python/type_conversion("Type Conversion") python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") python/FunctionsGroup -.-> python/function_definition("Function Definition") python/ErrorandExceptionHandlingGroup -.-> python/catching_exceptions("Catching Exceptions") subgraph Lab Skills python/type_conversion -.-> lab-302741{{"Високосный или обычный год"}} python/conditional_statements -.-> lab-302741{{"Високосный или обычный год"}} python/function_definition -.-> lab-302741{{"Високосный или обычный год"}} python/catching_exceptions -.-> lab-302741{{"Високосный или обычный год"}} end

Реализовать функцию leap_year

В этом шаге вы научитесь реализовать функцию leap_year в файле leap_year.py.

  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, чтобы улучшить свои навыки.