Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/81: Рейтинг темы: голосов - 81, средняя оценка - 4.78
3 / 3 / 0
Регистрация: 31.12.2019
Сообщений: 17

Самая далёкая планета

14.02.2020, 12:59. Показов 18900. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Планеты вращаются вокруг звезд по эллиптическим орбитам. Назовём самой далёкой планетой ту, орбита которой имеет самую большую площадь.
Напишите функцию find_farthest_orbit(list_of_orbits), которая среди списка орбит планет найдет ту, по которой вращается самая далёкая планета. Круговые орбиты не учитывайте: вы знаете, что у вашей звезды таких планет нет, зато искусственные спутники были запущены на круговые орбиты.
Результатом функции должен быть кортеж, содержащий длины полуосей эллипса орбиты самой далёкой планеты.
Каждая орбита представляет из себя кортеж из пары чисел – полуосей её эллипса. Площадь эллипса вычисляется по формуле S = (число пи)ab, где a и b – длины полуосей эллипса.
При решении задачи используйте списочные выражения.
Подсказка: проще всего будет найти эллипс в два шага: сначала вычислить самую большую площадь эллипса, а затем найти и сам эллипс, имеющий такую площадь.
Гарантируется, что самая далёкая планета ровно одна.
Python
1
2
3
4
5
6
def find_farthest_orbit(list_of_orbits):
    s = []
    for i in list_of_orbits:
        a, b = i
        s.append(3.14 * a * b)
    return list_of_orbits[s.index(max(s))]
Ввод

orbits = [(1, 3), (2.5, 10), (7, 2), (6, 6), (4, 3)]
print(*find_farthest_orbit(orbits))

Ожидаемый результат

2.5 10

Вывод

6 6

Помогите плиз
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.02.2020, 12:59
Ответы с готовыми решениями:

Самая далекая планета
Планеты вращаются вокруг звезд по эллиптическим орбитам. Назовём самой далёкой планетой ту, орбита которой имеет самую большую площадь. ...

Самая простая профессия в IT ,по мнению большинства, а также самая интересная
Добрый вечер, а подскажите кто-нибудь пожалуйста, какая профессия в IT самая простая в освоении, по мнению большинства? А какая самая...

Какая строка в массиве встретится раньше: самая короткая или самая длинная
1. Создай массив строк. 2. Добавь в него 10 строчек с клавиатуры. 3. Узнай, какая строка в массиве встретится раньше: самая короткая...

6
5519 / 2872 / 571
Регистрация: 07.11.2019
Сообщений: 4,762
14.02.2020, 16:25
Добавьте после 4 строки:
Python
1
2
if a==b:
    a,b=0,0
Добавлено через 1 час 7 минут
Кстати, умножение a*b на 3.14 не влияет на результат.

Добавлено через 13 минут
Еще вариант:
Python
1
2
3
4
orbits = [(1, 3), (2.5, 10), (7, 2), (6, 6), (4, 3)]
d=max(a*b for a,b in orbits if a!=b)
s=[(a,b) for a,b in orbits if a*b==d]
print(s[0])
2
Status 418
Эксперт Python
4584 / 2350 / 601
Регистрация: 26.11.2017
Сообщений: 5,262
Записей в блоге: 3
14.02.2020, 16:46
Лучший ответ Сообщение было отмечено NeverMind1 как решение

Решение

Python
1
2
orbits = [(1, 3), (2.5, 10), (7, 2), (6, 6), (4, 3)]
print(*max(orbits, key=lambda x: (x[0] != x[1]) * x[0] * x[1]))
1
3 / 3 / 0
Регистрация: 31.12.2019
Сообщений: 17
15.02.2020, 13:49  [ТС]
Ввод
print(*find_farthest_orbit([(10, 10), (1, 100)]))
Ожидаемый результат
1 100
Вывод
10 10
0
4 / 3 / 1
Регистрация: 14.01.2021
Сообщений: 13
04.02.2022, 10:03
Python
1
2
3
4
5
6
7
def find_farthest_orbit(list_of_orbits):
    return list(filter(lambda a: a[0] * a[1] * PI == max(
        list(map(lambda a: PI * a[0] * a[1], [(i, j) for i, j in list_of_orbits if i != j]))),
                       [(i, j) for i, j in list_of_orbits if i != j]))[0][0], list(
        filter(lambda a: a[0] * a[1] * PI == max(
            list(map(lambda a: PI * a[0] * a[1], [(i, j) for i, j in list_of_orbits if i != j]))),
               [(i, j) for i, j in list_of_orbits if i != j]))[0][1]
0
4 / 4 / 0
Регистрация: 31.12.2023
Сообщений: 18
21.04.2024, 10:53
Python
1
2
3
4
5
6
7
8
9
import math
 
 
def find_farthest_orbit(list_of_orbits):
    def area(orbit):
        a, b = orbit
        return math.pi * a * b if a != b else 0
 
    return max(list_of_orbits, key=area)

Зачтено 50/50 баллов
1
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
21.04.2024, 14:42
Python
1
2
3
4
5
6
7
from math import prod
def find_farthest_orbit(orbits_):
    return max(((a,b) for a,b in orbits_ if a != b), key=prod)
 
orbits = [(1, 3), (2.5, 10), (7, 2), (6, 6), (4, 3)]
print(*find_farthest_orbit(orbits))
# 2.5 10
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.04.2024, 14:42
Помогаю со студенческими работами здесь

Какая могла быть самая большая температура, если самая маленькая 0 град.
При измерении температуры было получено 4 бита информации. Какая могла быть самая большая температура, если самая маленькая 0 град.

Массив: Определить, какими были самая высокая температура летом и самая низкая зимой.
Известны данные о среднемесячной температуре за год. Определить,какая была самая высокая температура летом и самая низкая зимой. Нужен код...

Определить позиции, которые занимают самая большая и самая маленькая цифры заданного пользователем числа
Для заданного с клавиатуры натурального числа, все цифры которого разные, определить позиции, которые занимают его самая большая и самая...

Сформировать строки таким образов, что бы первой была самая короткая строка, а последней самая длинная
задан строка. сформировать строки таким образов что бы первой была самая короткая строка а последней самая длинная (все остальные строки...

Самая большая и самая маленькая цифра числа
Помогите Пожалуйста! Вам дают любое число n. Ваша задача вывести на экран самую большую и самую маленькую цифру этого...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru