1

Тема: Списки

мені потрібно створити функцію,в якій потрібно знайти і вивести суму трьох найбільших елементів. Як мені перевірити який елемент в списку найбільший?

2

Re: Списки

Як варіант

Подякували: JessikaBaker, leofun012

3 Востаннє редагувалося Master_Sergius (18.11.2016 16:38:25)

Re: Списки

О людоньки, уже скільки тем і всі такі, що стид і сором. Хоч трохи спробуйте саменькі покодити. Чи якусь просту книжку взяти по Python. Навіть підкажу один простий алгоритм - посортувати масив по спаданню і взяти перших 3 елементи (на Python це все в один рядок можна зробити)

Подякували: 0x9111A1

4 Востаннє редагувалося P.Y. (18.11.2016 16:49:00)

Re: Списки

Дивлячись чого від вас хоче викладач.
1) Можна просто відсортувати список (метод sort чи функція sorted) і взяти три останні елементи.
2) Можна знайти значення найбільшого елемента списку a функцією max(a), запам'ятати його, видалити цей елемент зі списку:

maxval=max(a)
del a[a.index(maxval)]

аналогічно знайти ще два елементи, знайти їхню суму.
3) Можна знайти найбільший елемент перебором (запам'ятовуємо значення й номер першого елемента, послідовно порівнюємо збережене значення з усіма елементами: якщо значення елемента більше за збережене, зберігаємо значення й номер елемента), запам'ятати його значення й номер, потім повторити пошук іще двічі, пропускаючи знайдені номери.

Можна ще способів придумати...

5

Re: Списки

def r3(sp):
    return sum(sorted(sp)[-1:-4:-1])

6

Re: Списки

ping написав:
def r3(sp):
    return sum(sorted(sp)[-1:-4:-1])

Чому [-1:-4:-1] а не [-3:] ?

7

Re: Списки

ReAl написав:
ping написав:
def r3(sp):
    return sum(sorted(sp)[-1:-4:-1])

Чому [-1:-4:-1] а не [-3:] ?

для наочності подачі елементів  в порядку спадання :)

думаю, що з точки зору інтерпретатора - різниці нема.