/
Vini1979
/
Python_Begining
Обзор
Документация
Войти
/
Vini1979
/
Python_Begining
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
Seminars/Seminar_7/Task_049_07.py
26 строк
2 KB
Evgeny
HW_7
17 фев 2023, 01:36
17 фев 2023, 01:36
11fcaee
Код
Авторство
О чём код?
# Задача №49. Планеты вращаются вокруг звезд по эллиптическим орбитам. # Назовем самой далекой планетой ту, орбита которой имеет самую большую площадь. Напишите функцию # find_farthest_orbit(list_of_orbits), которая среди списка орбит планет найдет ту, по которой вращается самая далекая # планета. Круговые орбиты не учитывайте: вы знаете, что у вашей звезды таких планет нет, зато искусственные спутники # были были запущены на круговые орбиты. Результатом функции должен быть кортеж, содержащий длины полуосей # эллипса орбиты самой далекой планеты. Каждая орбита представляет из себя кортеж из пары чисел - полуосей ее # эллипса. Площадь эллипса вычисляется по формуле S = pi*a*b, где a и b - длины полуосей эллипса. При решении задачи # используйте списочные выражения. Подсказка: проще всего будет найти эллипс в два шага: сначала вычислить самую # большую площадь эллипса, а затем найти и сам эллипс, имеющий такую площадь. Гарантируется, что самая далекая # планета ровно одна # Ввод: # orbits = [(1, 3), (2.5, 10), (7, 2), (6, 6), (4, 3)] # S = pi*a*b # print(*find_farthest_orbit(orbits)) # Вывод: # 2.5 10 from math import pi orbits = [(1, 3), (2.5, 10), (7, 2), (6, 6), (4, 3)] square_ellips = [round(pi * ell[0] * ell[1]) for ell in orbits if ell[0] != ell[1]] find_farthest_orbit = lambda x: x.index(max(x)) print(*orbits[find_farthest_orbit(square_ellips)])