def range_sum(int N): """ >>> sum(range(10)) 45 >>> range_sum(10) 45 """ result = sum(i for i in range(N)) return result def return_range_sum(int N): """ >>> sum(range(10)) 45 >>> return_range_sum(10) 45 """ return sum(i for i in range(N)) def return_range_sum_squares(int N): """ >>> sum([i*i for i in range(10)]) 285 >>> return_range_sum_squares(10) 285 >>> sum([i*i for i in range(10000)]) 333283335000 >>> return_range_sum_squares(10000) 333283335000 """ return sum(i*i for i in range(N)) def return_sum_squares(seq): """ >>> sum([i*i for i in range(10)]) 285 >>> return_sum_squares(range(10)) 285 >>> sum([i*i for i in range(10000)]) 333283335000 >>> return_sum_squares(range(10000)) 333283335000 """ return sum(i*i for i in seq) def return_sum_squares_start(seq, int start): """ >>> sum([i*i for i in range(10)], -1) 284 >>> return_sum_squares_start(range(10), -1) 284 >>> sum([i*i for i in range(10000)], 9) 333283335009 >>> return_sum_squares_start(range(10000), 9) 333283335009 """ return sum((i*i for i in seq), start)