[Python] Sumy wartości z tablicy

ct985
Użytkownik
Użytkownik
Posty: 184
Rejestracja: 13 paź 2011, o 20:36
Płeć: Kobieta
Lokalizacja: Warszawa
Podziękował: 71 razy

[Python] Sumy wartości z tablicy

Post autor: ct985 »

Mam problem z napisaniem funkcji która wypisuje w tablicy sumę wartości z podanej tablicy, nieoddzielonych zerem. Np. dla tablicy l=[2,-1,1,0,0,2,4,0,1,0] funkcja ma zwrócić tablicę
suma(l)=[2,0,6,1,0], a dla tablicy s=[2,3,0,1,0,0,2] suma(s)=[5,1,0,2].
Próbowałam w ten sposób:

Kod: Zaznacz cały

def sumy(l):
	suma=0
	p=[]
	if len(l)>0:
		if l[0]!=0:
			suma+=l[0]
			l=l[1:]
			suma+=sumy(l)
		else:
			p.append(suma)
			l=l[1:]
			suma+=sumy(l)
	return p
Ostatnio zmieniony 10 lis 2012, o 17:28 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
pawellogrd
Użytkownik
Użytkownik
Posty: 844
Rejestracja: 19 lis 2009, o 15:03
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 121 razy
Pomógł: 156 razy

[Python] Sumy wartości z tablicy

Post autor: pawellogrd »

Jesteś pewna wyniku dla pierwszej tablicy? Nie powinno być czasem:

Kod: Zaznacz cały

suma(l)=[2,0,6,1]
? Skąd to zero na końcu?

Sprawdź czy o taki kod chodziło (liczy wedle tego, jak zrozumiałem treść):

Kod: Zaznacz cały

def sumy(l):
   p=[]
   i=0
   while i<len(l):
      suma=0
      while (i<len(l)) and (l[i]!=0):
         suma+=l[i]
         i+=1
      p.append(suma)
      i+=1
   return p
ODPOWIEDZ