Skip to main content

A Python simulation of the Solar System with CLI interface

Project description

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 
    и так далее

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

solar_system_simulator-0.1.1.tar.gz (18.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

solar_system_simulator-0.1.1-py3-none-any.whl (19.7 kB view details)

Uploaded Python 3

File details

Details for the file solar_system_simulator-0.1.1.tar.gz.

File metadata

  • Download URL: solar_system_simulator-0.1.1.tar.gz
  • Upload date:
  • Size: 18.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for solar_system_simulator-0.1.1.tar.gz
Algorithm Hash digest
SHA256 f1d3b553a2346b9136c8abf52ced9c78a10fa38589189146aecef9611a2362d8
MD5 4eddbd64fe4d38a57f8d4fb50b1fde9b
BLAKE2b-256 9ffdd99ce5be6cad45b7c2f8b11f0eb10e08e3d4119a5e9a4fcc7cab2da4901c

See more details on using hashes here.

File details

Details for the file solar_system_simulator-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for solar_system_simulator-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7e77d1cb1f2f39ac1d4a119212d9fa6d6762d01813f36a70dfb1d3c38838836a
MD5 c76bdf3d1a3e68817a3104bc87e2a8f2
BLAKE2b-256 ae8b105cb2979aa3109f26a446ee33fb0e356b8b7a749de806a0841b683e104a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page