Skip to content

Commit 7da2e15

Browse files
committed
another coding bat
1 parent 4c17273 commit 7da2e15

File tree

1 file changed

+64
-0
lines changed
  • source/solutions/codingbat/List-2

1 file changed

+64
-0
lines changed
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
def sum13(l):
2+
tot = 0
3+
prev = 0
4+
for i in range(len(l)):
5+
if l[i] != 13 and prev != 13:
6+
tot += l[i]
7+
prev = l[i]
8+
return tot
9+
10+
11+
# def sum13(l):
12+
# prev, tot = 0, 0
13+
# for i in l:
14+
# if i != 13 and prev != 13:
15+
# tot += i
16+
# prev = i
17+
# return tot
18+
19+
20+
# def sum13(l):
21+
# tot = 0
22+
# i = 0
23+
# while i < len(l):
24+
# if l[i] != 13:
25+
# tot += l[i]
26+
# i += 1
27+
# else:
28+
# i += 2
29+
# return tot
30+
31+
32+
# def sum13(l):
33+
# tot = 0
34+
# l_iter = iter(l)
35+
# for i in l_iter:
36+
# if i == 13:
37+
# try:
38+
# next(l_iter)
39+
# except StopIteration:
40+
# break
41+
# else:
42+
# tot += i
43+
# return tot
44+
45+
46+
if __name__ == "__main__":
47+
48+
assert sum13([1, 2, 2, 1]) == 6
49+
assert sum13([1, 1]) == 2
50+
assert sum13([1, 2, 2, 1, 13]) == 6
51+
assert sum13([1, 2, 13, 2, 1, 13]) == 4
52+
assert sum13([13, 1, 2, 13, 2, 1, 13]) == 3
53+
assert sum13([]) == 0
54+
assert sum13([13]) == 0
55+
assert sum13([13, 13]) == 0
56+
assert sum13([13, 0, 13]) == 0
57+
assert sum13([13, 1, 13]) == 0
58+
assert sum13([5, 7, 2]) == 14
59+
assert sum13([5, 13, 2]) == 5
60+
assert sum13([0]) == 0
61+
assert sum13([13, 0]) == 0
62+
63+
print("all asserts passed")
64+

0 commit comments

Comments
 (0)