Jestem nowy w programowaniu i staram się rozwiązać problemy codingbat.com. Natknąłem się na ten problem:Pomijanie elementów na liście Python
Biorąc pod uwagę tablicę, oblicz sumę, z wyjątkiem sytuacji, gdy w tablicy jest 13. Jeśli w tablicy znajduje się 13, pomiń 13 i liczbę bezpośrednio za nią. Na przykład [1,2,13,5,1] powinno dać 4 (ponieważ 13 i 5 są pomijane).
To jest to, co do tej pory miałem. Moim problemem jest to, że nie wiem, co zrobić, gdy jest wiele 13 ... I chciałbym nauczyć się kodowania skutecznie. Czy możesz pomóc? (Używam Pythona 3.2) Dzięki!
def pos(nums):
for i in nums:
if i == 13:
return nums.index(13)
return False
def sum13(lis):
if pos(lis)!= False:
return sum(lis[:pos(lis)])+sum(lis[pos(lis)+1:])
else:
return sum(lis)
Twój przykład powinien naprawdę dać "4", prawda? 1 + 2 + 1 = 4. – cheeken
@cheeken Zmieniłem go na 4 – jamylak
@ everyrybody wyścigi, aby opublikować rozwiązania: proszę sobie sprawę, że [1,2,13,5,13,13, -9,13,13,13,13 13,11,1) powinno również dać 4 ... – Will