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

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

14.02.2020, 12:59. Показов 18840. Ответов 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
5515 / 2868 / 571
Регистрация: 07.11.2019
Сообщений: 4,758
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,707
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
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru