Skip to content

aligang/3_bars

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 

Repository files navigation

1.Что это такое ?

Этот код позволяет найти самый большой, самый маленький и ближайший бар из списка(который должен быть представлен в виде JSON-структуры передаваемой как аргумент)

2.Системные требования

Для работы с программой понадобится Python3.5 (который скорее всего у вас уже установлен, если Вы используете Linux)
Также может понадобиться установить модуль geopy, сделать это можно выполнив pip3.5 install -r requirements.txt

# pip3.5 install -r requirements.txt

3.Где можно скачать

Можно форкнуть здесь - ближайшие бары
и затем скачать

git clone https://github.com/<юзернейм-аккаунта-на-гите>/3_bars

4.Где взять список баров

Для работы программы нужны входные данные в формате JSON. Их можно скачать.
Для этого нужно:

  1. зарегистрироваться на сайте и получить ключ API;
  2. скачать файл по ссылке вида https://apidata.mos.ru/v1/features/1796?api_key={place_your_API_key_here}.

Полученный файл можно будет исопльзовать для работы в п.5

5.Как этим пользоваться...

a. Данный код может быть исползован как самостоятельная программа,
при этом программа попросит Вас сначала указать файл с JSON, а затем координаты GPS, относительно которых будет найден ближайший бар

$ python3.5 bars.py <path to file>
Самый большой бар в округе: Спорт бар «Красная машина»
Который расположен по адресу: Автозаводская улица, дом 23, строение 1
Самый маленький бар в округе: БАР. СОКИ
Который расположен по адресу: Дубравная улица, дом 34/29
Введите  GPS  координаты, подыщем ближайший бар: 70.70 70.70
Ближайший бар : Таверна
Который расположен по адресу: проспект Защитников Москвы, дом 8
Находится на расстоянии 3669 километров

b. Функции могут быть импортированы в Ваш код (пример в разделе 6)

6.Какие функции могут быть переиспользованы в вашем коде

Функция load_data читает структуру raw-JSON из файла, преобразует её в python-обект и возвращает список баров.
Функция get_biggest_bar находит самый большой бар, упоминающийся в списке,
возвращает dict в котором содержится информация об этом баре
Функция get_smallest_bar находит самый маленький бар, упоминающийся в списке,
возвращает dict в котором содержится информация об этом баре
Функция get_сloset_bar находит ближайший бар, упоминающийся в списке, отностительно координат, подаваемых как аргументы функции,
возвращает dict в котором содержится информация об этом баре, а также float, которая отражает расстояние в метрах от заданных GPS координат до этого бара
Функция request_user_defined_coordinates запрашивает GPS координаты через поток ввода/вывода
Функция print_pretty_output выводит информацию о барах на поток ввода/вывода

Импортировать и использовать функцию коди можно следующим образом:

from bars import load_data
from bars import get_closest_bar
from bars import get_biggest_bar
from bars import get_smallest_bar

object_representing_json = load_data(filepath)
closest_bar = get_closet_bar(иbars_list, user_defined_longitude, user_defined_latitude)
biggest_bar = get_biggest_bar(иbars_list, user_defined_longitude, user_defined_latitude)

7. Цели

Код создан в учебных целях. В рамках учебного курса по веб-разработке ― DEVMAN.org

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%