CMU Coding Bootcamp
1def oddSum(L: list[int], sum: int = 0) -> int:
2 if len(L) == 0:
3 return sum
4 val = L[0]
5 rest = L[1:]
6 if val % 2 == 1:
7 sum += val
8 return oddSum(rest, sum)
9
10def testOddSum():
11 print('Testing oddSum()...', end='')
12 assert(oddSum([]) == 0)
13 assert(oddSum([1]) == 1)
14 assert(oddSum([2]) == 0)
15 assert(oddSum([1,2,3,4,5,4,3]) == 12) # 1+3+5+3
16 assert(oddSum([1,2,3,4,5,4,3,2]) == 12) # 1+3+5+3
17 assert(oddSum([2,4,6,8,10,12,14]) == 0)
18 assert(oddSum([1,1,1,1,1]) == 5) # 1+1+1+1+1
19 print('Passed!')
20
21def main():
22 testOddSum()
23
24main()