8 / 5 / 1
Регистрация: 15.12.2020
Сообщений: 349

Четырехугольная схема полетов дронов

02.01.2023, 19:43. Показов 729. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется четырехугольная схема полетов дронов с координатами (1, 2, 3, 4). У нас есть словарь points, ключи которого – кортежи, точки полета между координатами четырехугольника, вида (1, 2). Значение словаря – это расстояния между указанными точками.


Напишите функцию calculate_distance, которая принимает на вход список координат четырехугольника из словаря вида [0, 1, 3, 2, 0]. Функция должна подсчитать, используя указанный словарь, какое общее расстояние пролетит дрон, двигаясь между точками полета.

Примечания:

когда берём у словаря points значения, в ключе кортежи всегда должна быть первая координата с меньшим значением — (2, 3), но не (3, 2);
для пустого списка и списка с одной координатой, функция calculate_distance должна возвращать 0.

Python
1
2
3
4
5
6
7
8
9
10
11
12
points = {
    (0, 1): 2,
    (0, 2): 3.8,
    (0, 3): 2.7,
    (1, 2): 2.5,
    (1, 3): 4.1,
    (2, 3): 3.9,
}
 
 
def calculate_distance(coordinates):
    return sum(points[*sorted(p)] for p in zip(coordinates, coordinates[1:]))

Получаю следующую ошибку

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
Traceback (most recent call last):
 
  File "/app/api/task/code_runners.py", line 230, in evaluate_user_code_one_run
 
    success.append(self.run_code(user_code_string))
 
  File "", line 12
 
    return sum(points[*sorted(p)] for p in zip(coordinates, coordinates[1:]))
 
                                ^
 
SyntaxError: invalid syntax
НУжна помощь
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.01.2023, 19:43
Ответы с готовыми решениями:

Четырехугольная призма
Построить на символьном экране дисплея чертеж В прямой четырехугольной призме провести сечение, проходящее через сторону нижнего...

Четырехугольная пирамида
В правильной четырехугольной пирамиде SABCD с основанием ABCD длина стороны основания равна 10, высота пирамиды SO равна 5\sqrt{6}. Точка К...

Правильная четырехугольная пирамида.
В правильной четырехугольной пирамиде провести сечение, проходящее через одну из сторон основания и середину высоты пирамиды. Задание из...

5
5516 / 2869 / 571
Регистрация: 07.11.2019
Сообщений: 4,760
02.01.2023, 22:33
думаю, что p у тебя кортеж, его нельзя отсортировать..
0
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,764
03.01.2023, 11:57
Цитата Сообщение от u235 Посмотреть сообщение
нельзя отсортировать..
Bash
1
2
3
4
>>> l = (4,6,3,9,0)
>>> sorted(l)
[0, 3, 4, 6, 9]
>>>
0
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,764
03.01.2023, 20:59
Цитата Сообщение от VictorVAlduin Посмотреть сообщение
points[*sorted(p
на этом месте ошибка
типа так
Python
1
2
3
def calc(coord):
    tmp = sorted(coord)
    return sum(points.get(p,0) for p in zip(tmp, tmp[1:]))
1
8 / 5 / 1
Регистрация: 15.12.2020
Сообщений: 349
05.01.2023, 04:35  [ТС]
Все намного проще

Python
1
2
3
4
5
6
7
8
9
10
11
12
points = {
    (0, 1): 2,
    (0, 2): 3.8,
    (0, 3): 2.7,
    (1, 2): 2.5,
    (1, 3): 4.1,
    (2, 3): 3.9,
}
 
 
def calculate_distance(coordinates):
    return sum(points[tuple(sorted(p))] for p in zip(coordinates, coordinates[1:]))
0
 Аватар для Semen-Semenich
5234 / 3479 / 1175
Регистрация: 21.03.2016
Сообщений: 8,306
05.01.2023, 13:20
Цитата Сообщение от vic5710 Посмотреть сообщение
1
2
3
4
>>> l = (4,6,3,9,0)
>>> sorted(l)
[0, 3, 4, 6, 9]
>>>
ну так кортеж то не сортирован. функция sorted вернула другой объект - список
Python
1
2
3
4
5
6
>>> l = (4,6,3,9,0)
>>> sorted(l)
[0, 3, 4, 6, 9]
>>> l
(4, 6, 3, 9, 0)
>>>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.01.2023, 13:20
Помогаю со студенческими работами здесь

Опишите класс (четырехугольная призма)
Опишите класс Prizma4(четырехугольная призма) и метод, вычисляющий объем и поверхность призмы, в основании которой лежит квадрат. У...

Правильная четырёхугольная пирамида,объём
Если в правильной четырёхугольной пирамиде высота равна 16, а площадь диагонального сечения равна 12, то её объём равен ? как найти...

Вписанный треугольник и четырехугольная пирамида
Помогите, пожалуйста Треугольник ABC вписан в окружность с центром O . Найдите угол BOC , если угол BAC равен 32° . Диагональ AC...

Четырехугольная пирамида. Найти двугранный угол.
В правильной четырехугольной пирамиде SABCD с основанием ABCD длина стороны основания равна 10,высота SO равна 5sqrt6. Точка К делит SC...

Разбор полетов
Меня больше всего интересует строчка вычесления позиции символа. (ring - lotr + 1). объясните, пожалуйста int main () { char...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru