• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Funkcja która zwraca sumę - Phyton

0 głosów
1,817 wizyt
pytanie zadane 4 listopada 2018 w Python przez ziomek7 Obywatel (1,060 p.)

Witam mam do napisania funkcję która zwraca sumę wzrostu (jest to trzeci element każdej pod listy) czemu poniższy kod nie chce działać? Czy może ktoś z was napisać gotowy kod i go wyjaśnić?

dane= [["m", 43, 177], ["m", 40, 180], ["m", 44.5, 170], ["m", 45, 184], ["m", 47, 190], ["m", 46, 185], 
                         ["m", 44, 180], ["m", 45, 180], ["m", 43, 183], ["m", 44.5, 184], ["m", 42, 174], ["m", 43, 173],
                         ["m", 45, 178], ["m", 43.5, 181], ["m", 44, 179], ["m", 41, 173], ["k", 37, 170], ["k", 41, 170], 
                         ["m", 43, 178]]


def suma(dane):
    for a in dane:
        i=0
        a = dane[i][2]
        suma = 0 + a
        i=i+1
    
print(suma)

 

2 odpowiedzi

+1 głos
odpowiedź 4 listopada 2018 przez Eryk Andrzejewski Mędrzec (164,260 p.)
wybrane 4 listopada 2018 przez ziomek7
 
Najlepsza

Pierwsza sprawa - jak chcesz wywołać funkcję, to musisz po jej nazwie podać nawiasy (i w nich argumenty funkcji, jeżeli jest taka potrzeba).

print(suma(dane))

A jak możesz napisać tę funkcję sumującą? O tak:

def suma(dane):
    wynik = 0
    for a in dane:
        wynik += a[2]
    return wynik

 

+1 głos
odpowiedź 4 listopada 2018 przez Benek Szeryf (93,330 p.)

Ja wiem, że Twoim zadaniem było napisane funkcji, ale normalnie to się wykorzystuje w Pythonie to, co jest dostępne (to taka wskazówka na przyszłość):

print(sum(map(lambda x : x[-1], dane)))

 

1
komentarz 4 listopada 2018 przez izonik Stary wyjadacz (12,560 p.)

Bardziej Pythonowo było by tak:

print(sum( item[-1] for item in dane ))

 

Podobne pytania

+2 głosów
3 odpowiedzi 431 wizyt
pytanie zadane 10 stycznia 2019 w Python przez driller Nowicjusz (180 p.)
0 głosów
1 odpowiedź 4,250 wizyt
pytanie zadane 24 października 2017 w C i C++ przez WRCol Nowicjusz (120 p.)
0 głosów
1 odpowiedź 391 wizyt
pytanie zadane 19 grudnia 2022 w Python przez daro22 Nowicjusz (120 p.)

93,667 zapytań

142,591 odpowiedzi

323,135 komentarzy

63,193 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...