Общие стандартные библиотеки Python

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

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

Введение

В зачарованном морском мире, полном тайны и магии, где моряки должны ориентироваться не только в опасных водах, но и в таинственных потоках магии, существует легенда, известная своими превосходными навыками в навигации и заклинаниях - зловещая Капитан-пират Магеллан, Проклятый. Способность Магеллана использовать силы стандартных библиотек Python стала основой его успеха в智取ании сопернических пиратов и открытии скрытых сокровищ.

Вашей миссией, как член экипажа Магеллана, является овладеть тем же набором мощных библиотек Python, чтобы помочь управлять вашим кораблем в серии испытаний. Судьба "Очарованного грабителя", самого страшного корабля на высоких морях, зависит от вас. Будете ли вы принять код Python и стать бесценным активом для Капитана Магеллана? Приключения впереди будут испытанием ваших навыков и хитрости в равной мере!

Навигация с использованием math и datetime

На этом этапе вам предстоит составить маршрут для вашего предстоящего путешествия. Вычислите лучший маршрут с использованием модуля math и оцените время прибытия с помощью модуля datetime.

Сначала откройте скрипт под названием chart_course.py в директории ~/project. Этот скрипт будет вычислять расстояние до вашей следующей цели на основе координат широты и долготы.

import math

## Координаты вашего текущего местоположения и назначения (в градусах)
current_location = (0, 0)
destination = (10, 10)

def calculate_distance(loc1, loc2):
    ## Преобразуйте градусы в радианы
    lat1, lon1 = map(math.radians, loc1)
    lat2, lon2 = map(math.radians, loc2)

    ## Формула Гаверсинуса
    dlon = lon2 - lon1
    dlat = lat2 - lat1
    a = math.sin(dlat/2)**2 + math.cos(lat1) * math.cos(lat2) * math.sin(dlon/2)**2
    c = 2 * math.asin(math.sqrt(a))
    r = 6371  ## Радиус Земли в километрах
    return c * r

## Оцените расстояние
distance = calculate_distance(current_location, destination)
print(f"Расстояние до назначения составляет {distance:.2f} километров.")

Теперь оцените время прибытия с использованием datetime:

from datetime import datetime, timedelta

## Предположим, что средняя скорость корабля составляет 10 км/ч
average_speed = 10

## Вычислите время прибытия
time_to_destination = timedelta(hours=distance / average_speed)
arrival_time = datetime.now() + time_to_destination

print(f"Предполагаемое время прибытия: {arrival_time.strftime('%Y-%m-%d %H:%M:%S')}")

Запустите свой скрипт, выполнив следующую команду в терминале:

python ~/project/chart_course.py

На вашем терминале должны быть отображены следующие сведения:

Расстояние до назначения составляет 1568.52 километров.
Предполагаемое время прибытия: 2024-01-04 09:40:36

Управление инвентарем с использованием collections

Капитан Магеллан хранит свой инвентарь отсортированным и доступным с помощью модуля collections в Python. Ваша миссия - организовать данные о снаряжениях корабля с использованием Counter из модуля collections.

Откройте скрипт под названием manage_inventory.py в директории ~/project:

from collections import Counter

## Список инвентаря
inventory = ['зелье', 'кинжал', 'зелье', 'золотая монета', 'золотая монета', 'рубина']

inventory_counter = Counter(inventory)

## Отобразите количество элементов в инвентаре
for item, count in inventory_counter.items():
    print(f"{item.title()}: {count}")

## Добавьте предметы в инвентарь
добыча = ['золотая монета', 'изумруд', 'зелье']
inventory_counter.update(добыча)

print("\nОбновленный инвентарь:")
for item, count in inventory_counter.items():
    print(f"{item.title()}: {count}")

Для управления инвентарем запустите:

python ~/project/manage_inventory.py

На вашем терминале должны быть отображены следующие сведения:

Зелье: 2
Кинжал: 1
Золотая монета: 2
Рубина: 1

Обновленный инвентарь:
Зелье: 3
Кинжал: 1
Золотая монета: 3
Рубина: 1
Изумруд: 1

Резюме

В этом практическом занятии вы попали в мир зачарований и морских приключений. Мы разработали увлекательные сценарии, которые использовали стандартные библиотеки Python в качестве инструментов для преодоления различных вызовов, подобно тому, как это делал Капитан Магеллан в своих путешествиях. Вы узнали, как выполнять географические вычисления с использованием math и datetime, управлять инвентарем магических предметов с помощью collections, а также продолжите работать с файловой системой и выполнять другие общие задачи с использованием дополнительных стандартных библиотек.

При выполнении каждой задачи вы не только приобрели навыки в использовании этих библиотек, но и внесли свой вклад в успешное путешествие "Очарованного грабителя". Эти упражнения奠定ят основы для成為 эффективного программиста на Python, способного创造性地 и эффективно решать практические проблемы. Пусть ветра знаний будут всегда поднимать ваши паруса!