• 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

Object Storage Arubacloud
0 głosów
1,375 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 (91,110 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 258 wizyt
pytanie zadane 10 stycznia 2019 w Python przez driller Nowicjusz (180 p.)
0 głosów
1 odpowiedź 3,845 wizyt
pytanie zadane 24 października 2017 w C i C++ przez WRCol Nowicjusz (120 p.)
0 głosów
1 odpowiedź 209 wizyt
pytanie zadane 19 grudnia 2022 w Python przez daro22 Nowicjusz (120 p.)

92,617 zapytań

141,466 odpowiedzi

319,783 komentarzy

61,999 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...