/
kondr799
/
repo_github
Обзор
Документация
Войти
/
kondr799
/
repo_github
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
python_class/task_49.py
53 строки
3 KB
kondr799
task_51
12 июл 2023, 23:39
Не верифицирован
12 июл 2023, 23:39
1f61e40
Код
Авторство
О чём код?
# Задача №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)] # print(*find_farthest_orbit(orbits)) #Вывод: 2.5 10 orbits = [(1, 3), (2.5, 10), (7, 2), (6, 6), (4, 3)] square_ellipse = lambda a, b : a * b * 3.14 def find_farthest_orbit(list_of_orbits): max_orbit = 0 max_index = 0 for i in range(len(list_of_orbits)): a, b = list_of_orbits[i] if a != b: if square_ellipse(a, b) > max_orbit: max_orbit = square_ellipse(a, b) max_index = i return list_of_orbits[max_index] print(*find_farthest_orbit(orbits)) orbits = [(1, 3), (2.5, 10), (7, 2), (6, 6), (4, 3)] def find_farthest(orbs): max_value = 0 for a, b in (orbs): if(a != b): if (3.14 *a*b > max_value): max_value = 3.14 *a*b max_a = a max_b = b return max_a, max_b print(*find_farthest(orbits))