@ru_python

Страница 7353 из 9768
Aragaer
10.12.2018
18:45:06
и по другой оси - после 1999-1000 будет 0-1000

тор

Евгений
10.12.2018
18:45:41


Сергей
10.12.2018
18:45:48
По идее, координаты позволяют рассчитать расстояние между любыми объектами. Расстояние между тремя городами - это треугольник, с учётом перпендикуляра - это 2 прямоугольных треугольника, где один катет общий, гипотенузы и суммы других катетов известны. Есть формула нахождения высоты в треугольнике. Находим и принимаем решение, Идти через третий город или напрямую

Google
Сергей
10.12.2018
18:49:51
Что именно не точно?
Не точно определенны условия - идти через третий город чуть в стороне или напрямую (речь о промежуточных ходах). Критерий должен быть точный - когда сворачивать к третьему городу или идти напрямую

Александр
10.12.2018
18:53:11
Напрямую нельзя, только через промежуточные точки

Но самым коротким путем

Только никак не могу сообразить — как определить длину перпендикуляра к прямой?

И как вообще построить перпендикуляр к прямой?

Сергей
10.12.2018
18:57:59
Напрямую между началом и концом, но посмотри на свой рисунок, ты же все равно не идёшь не через все точки, часть точек остаётся в стороне. Тебе нужен четкий критерий. Я его предложил. Ищи в геометрии, как найти высоту в треугольнике, когда тебе известны длИны его сторон

Сергей
10.12.2018
19:00:34
Спасибо за подсказку! Завтра буду разбираться
https://www-formula.ru/heighttriangle Первая формула

Если эта высота меньше половины расстояния между городами, то в этот город нужно заходить, если больше - то можно идти напрямую. И так - шаг за шагом

Александр
10.12.2018
19:03:34
Или

Если расстояние от начальной точки до этой наименьшее, то заходим

А, нет..

Все, я понял!

Google
Александр
10.12.2018
19:04:53
Спасибо!

Сергей
10.12.2018
19:04:58
А если этот промежуточный город рядом, но в другую сторону?

Вот-вот

Спасибо!
Ещё раз посмотрел на рисунок, небольшое уточнение: заходим в промежуточный город, если высота будет меньше не половины длины, как я писал выше, а наименьшего расстояния из любого из этих двух городов до этого опущенного перпендикуляра, которое можно найти по теореме Пифагора, где нам известна гипотенуза (расстояние до промежуточного города) и один из катетов (высота)

Rustam
10.12.2018
19:23:26




вот код



Сергей
10.12.2018
19:42:28
а разве это не будет просто полный граф?
Что значит в данном случае - полный граф? С точки зрения расстояния нам проще пройти напрямую из точки А в точку Б, как решить эту задачу с помощью теории графов, если дороги есть между любыми двумя городами? На мой взгляд, условие слишком расплывчатое. Следует ли считать решением путь в обход, который по длине будет намного дольше, но с минимальным расстояниями между городами (хотя этих сегментов будет много)?

Если да, тогда можно решить помощью теории графов

Алексей
10.12.2018
19:46:12
Привет!

Алексей
10.12.2018
19:48:04
Здесь только задачи решают? Или можно задавать вопрос на другие темы?

Denis
10.12.2018
19:48:25
На любые можно

El Mariachi
10.12.2018
19:48:38
полный граф - это граф у которого каждый узел соединен с каждым другим узлом

Алексей
10.12.2018
19:48:47
Ок, спасибо.

https://pastebin.com/mhHPQz4f кто разбирается в авторизации - вопрос к вам.

Google
Алексей
10.12.2018
19:51:29
не могу авторизоваться на сайте. Что делаю не так?

Denis
10.12.2018
19:51:46
Неужели это граббер гикбрейнс?

Алексей
10.12.2018
19:52:28
граббер - это что?

Сергей
10.12.2018
19:52:30
ребру между А и Б можно задать заведомо большой вес, чтоб игнорировать этот путь
Тогда будет выгоден заход в один город, который ближе всех к прямой между А и Б.

Алексей
10.12.2018
19:54:54
прочитал про граббер ) нет это не он, хочу научиться синхронизировать календарь занятий с календарем гугла, но не могу пройти авторизацию. Уже около месяца мучаюсь, но все никак

Сергей
10.12.2018
20:00:44
ребру между А и Б можно задать заведомо большой вес, чтоб игнорировать этот путь
Возможно стоит искать путь с наименьшим значением максимального расстояния (веса) в пути, не взирая на количество сегментов

El Mariachi
10.12.2018
20:03:33
Сергей
10.12.2018
20:04:38
Я уже жаловался на то, что точных критериев в задании нет

El Mariachi
10.12.2018
20:04:59
но я так понимаю, из информации о городах только расстояния между ними?

Сергей
10.12.2018
20:06:11
Судя по всему, даны двумерные координаты городов (как я понял)

El Mariachi
10.12.2018
20:07:28
опять же, на геодезической поверхности или на плоскости )

Сергей
10.12.2018
20:08:36
Я думаю, что задача абстрактна, рассматривается плоскость, иначе мы уйдем в рельеф местности, водные преграды и т.п.

Кирилл
10.12.2018
20:09:06


El Mariachi
10.12.2018
20:11:51
Ребята, помогите с задачей. Есть список с координатами вершин графа: points = [(0,0),(12,55)(51,51)...] Необходимо взять две рандомные вершины из этого списка и найти между ними самый короткий путь по другим вершинам. Результат вывести в виде списка path, где path[0] == начальная точка, а path[-1] == конечная точка

Сергей
10.12.2018
20:12:28
Есть всякого рода функции типа quote() для преобразования текста в "нормальный" вид

Т.е. по всем другим вершинам? Разновидность задачи коммивояжера?

?? Eugene
10.12.2018
20:13:42
El Mariachi
10.12.2018
20:13:43
да

Google
Алексей
10.12.2018
20:14:37
Сделай селениумом, проще будет
Делал, норм авторизовал, но дальше не знаю че с ним делать, хочу реквестом

Сергей
10.12.2018
20:14:47
Вот что бывает, когда читаешь условие, пересказанное своими словами )

El Mariachi
10.12.2018
20:15:06
Сергей
10.12.2018
20:16:51
Не помню, если ли в оригинальной задаче условие финала в определенном городе. По-моему, там просто объехать все города кратчайшим способом. Могу ошибаться

Значит надо просто отобрать все пути, которые кончаются в точке Б

Александр
10.12.2018
20:20:58
Нет, это не задача комивояджера

Admin
ERROR: S client not available

Александр
10.12.2018
20:23:19
Задача расплывчата, но то что подсказал Сергей — подходит)

El Mariachi
10.12.2018
20:23:21
в любом случае, для питона полно библиотек для решения графов

Александр
10.12.2018
20:23:35
Последний критерий прям то что мне нужно было

Я так думаю

Завтра проверю

Tishka17
10.12.2018
20:24:46
Эм

Вы все решаете?

Tishka17
10.12.2018
20:25:59
Задача расплывчата, но то что подсказал Сергей — подходит)
min(points, key=lambda x: distance(x,a)+distance(x,b)) Так не катит?

Tishka17
10.12.2018
20:27:46
Код покажи

Сергей
10.12.2018
20:27:59
Теперь такая ошибка появилась
Слишком мало данных, чтобы понять причину, нужен исходный код

Google
Tishka17
10.12.2018
20:28:04
Явно ведь документацию не читал

Кирилл
10.12.2018
20:28:10
Слишком мало данных, чтобы понять причину, нужен исходный код
urllib.request.urlopen('https://api.telegram.org/bot'+str(token)+'/editMessageReplyMarkup?chat_id='+str(from_id)+'&message_id='+str(message_id))+'&reply_markup='+str(keyboard_inline) Такой запрос token - токен для доступа к апи Проблема кроется в keyboard_inline Русские символы не нравятся, англ норм

Tishka17
10.12.2018
20:28:23
Господи

Зачем ты так урл формируешь?

Alex
10.12.2018
20:28:48
Потому что полез в телеграм прежде чем выучить питон

Tishka17
10.12.2018
20:29:09
Прежде чем документацию прочитал и про экранирование узнал

Кирилл
10.12.2018
20:29:22
Кирилл
10.12.2018
20:30:41
Так тоже делал, я решил все прописать в запросе

Tishka17
10.12.2018
20:31:02
Ну и зря решил

И вообще взял бы requests либу

Alex
10.12.2018
20:31:25
Так тоже делал, я решил все прописать в запросе
ну во-первых это неправильно, так как ты не экранируешь URL query.

Tishka17
10.12.2018
20:31:38
  The Requests package is recommended for a higher-level HTTP client interface

Говорит нам документация

Alex
10.12.2018
20:31:47
а во-вторых ^ requests

Говорит нам документация
дык это ж надо еще документацию читать.

Страница 7353 из 9768