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.0.tar.gz (7.1 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.0-py3-none-any.whl (3.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: solar_system_simulator-0.1.0.tar.gz
  • Upload date:
  • Size: 7.1 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.0.tar.gz
Algorithm Hash digest
SHA256 5db55e121ae8bb68196a0306a67b243dbdf322ead7c5aa7bf987f1fdef5131c5
MD5 47a43b4e360390e1be252b444a676c68
BLAKE2b-256 14ad8d3c3409c1bd3af4dda329f7cefab8bfc7c06d00580325731793ce1e4fae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for solar_system_simulator-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9ea29adb9f34fd8bee6d362f61d263fb788cc8b4fe5682421f9faac55c2137d5
MD5 65a3cbd5a3acfa6ae445df641f060a5a
BLAKE2b-256 4ef581bd338595fc315611ddda1235ff81457dcb7f81d2effdc035a414650768

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