Muszę zsumować wszystkie liczby z listy. Jeśli wystąpi 0, zacznij odejmowanie, aż do kolejnego 0, zacznij dodawać.
Na przykład:
[1, 2, 0, 3, 0, 4] -> 1 + 2 - 3 + 4 = 4
[0, 2, 1, 0, 1, 0, 2] -> -2 - 1 + 1 - 2 = -4
[1, 2] -> 1 + 2 = 3
[4, 0, 2, 3] = 4 - 2 - 3 = -1
Oto, co próbowałem:
sss = 0
for num in numbers:
if 0 == num:
sss = -num
else:
sss += num
return sss
if i == 0:
możesz po prostu użyćsign = not sign
. Zobacz repl.it/repls/RigidCrazyDeletionssum
funkcji !! Zakładam, że dlatego OP użyłsss
zamiastsum
Kolejna odmiana z
operator
modułową i bitową negacją~
:źródło
źródło