Lab 1 - Solar System Model
Постановка задания:
Предметная область: исследование и моделирование космических объектов в солнечной системе.
Важные сущности: солнце, планеты, спутники, кометы, астероиды, космический аппарат.
Операции: операция исследования движения планет, операция моделирования орбит, операция изучения атмосфер и поверхностей планет, операция запуска космических аппаратов, операция сбора данных.
______ __ ______ __
/ \ / | / \ / |
/$$$$$$ | ______ $$ | ______ ______ /$$$$$$ | __ __ _______ _$$ |_ ______ _____ ____
$$ \__$$/ / \ $$ | / \ / \ $$ \__$$/ / | / | / |/ $$ | / \ / \/ \
$$ \ /$$$$$$ |$$ | $$$$$$ |/$$$$$$ | $$ \ $$ | $$ |/$$$$$$$/ $$$$$$/ /$$$$$$ |$$$$$$ $$$$ |
$$$$$$ |$$ | $$ |$$ | / $$ |$$ | $$/ $$$$$$ |$$ | $$ |$$ \ $$ | __ $$ $$ |$$ | $$ | $$ |
/ \__$$ |$$ \__$$ |$$ |/$$$$$$$ |$$ | / \__$$ |$$ \__$$ | $$$$$$ | $$ |/ |$$$$$$$$/ $$ | $$ | $$ |
$$ $$/ $$ $$/ $$ |$$ $$ |$$ | $$ $$/ $$ $$ |/ $$/ $$ $$/ $$ |$$ | $$ | $$ |
$$$$$$/ $$$$$$/ $$/ $$$$$$$/ $$/ $$$$$$/ $$$$$$$ |$$$$$$$/ $$$$/ $$$$$$$/ $$/ $$/ $$/
/ \__$$ |
$$ $$/
$$$$$$/
__ __ __ __
/ \ / | / | / |
$$ \ /$$ | ______ ____$$ | ______ $$ |
$$$ \ /$$$ | / \ / $$ | / \ $$ |
$$$$ /$$$$ |/$$$$$$ |/$$$$$$$ |/$$$$$$ |$$ |
$$ $$ $$/$$ |$$ | $$ |$$ | $$ |$$ $$ |$$ |
$$ |$$$/ $$ |$$ \__$$ |$$ \__$$ |$$$$$$$$/ $$ |
$$ | $/ $$ |$$ $$/ $$ $$ |$$ |$$ |
$$/ $$/ $$$$$$/ $$$$$$$/ $$$$$$$/ $$/
Программа
Программа представляет собой модель предметной области Солнечной Системы, позволяющую просматривать данные об объектах Солнечной Системы, удалять текущие, создавать новые. Взаимодействие с программой осуществляется через консоль.
Основные классы
Основной класс - Celestial Body
Он представляет собой базовый класс для всех тел, присутствующих в солнечной системе
Имеет поля:
- name - имя объекта
- mass - масса объекта
- radius - радиус объекта
- position - координаты позиции объекта
Классы Planet, Comet, Satellite, Asteroid, Sun, Spacecraft наследуются от Celestial Body \
Spacecraft - Класс, с помощью которого происходит сбор данных с космических тел.
Наделен функционалом:
- Завести двигатель
- Путешествовать к объекту
- Считывать данные с текущего объекта
- Просматривать количество топлива
- Пополнять топливо, если необходимо
Данные, вводимые пользователем валидируются. Ошибки отлавливаются благодаря исключениям:
exceptions.custom_exceptions.py:
- InvalidMassError
- InvalidRadiusError
- InvalidPositionError
- InvalidTemperatureError
- InvalidSurfaceError
- InvalidLuminosityError
- InvalidCoreDiameterError
и так далее
Metadata
Release files for solar-system-simulator 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| solar_system_simulator-0.1.1.tar.gz | 18.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| solar_system_simulator-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 38.0 kB
Release files / solar_system_simulator-0.1.1.tar.gz
| Download URL | solar_system_simulator-0.1.1.tar.gz |
|---|---|
| Size | 18.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f1d3b553a2346b9136c8abf52ced9c78a10fa38589189146aecef9611a2362d8
|
|
BLAKE2b-256 checksum How to use checksums |
9ffdd99ce5be6cad45b7c2f8b11f0eb10e08e3d4119a5e9a4fcc7cab2da4901c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Release files / solar_system_simulator-0.1.1-py3-none-any.whl
| Download URL | solar_system_simulator-0.1.1-py3-none-any.whl |
|---|---|
| Size | 19.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7e77d1cb1f2f39ac1d4a119212d9fa6d6762d01813f36a70dfb1d3c38838836a
|
|
BLAKE2b-256 checksum How to use checksums |
ae8b105cb2979aa3109f26a446ee33fb0e356b8b7a749de806a0841b683e104a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|