Code:

``def sum_given(values):s = 0for i in zip(*values):s += int(i)return stry:v_list = input("Enter values to be summed.\n> ")except ValueError:print('Invalid input. Counting as a zero.')result_of_sum = sum_given(v_list)print(result_of_sum)``

Output:

``\$ ./helloworld.pyEnter values to be summed.> 1,2,3,4,5Traceback (most recent call last):File "./helloworld.py", line 13, in <module>result_of_sum = sum_given(v_list)File "./helloworld.py", line 6, in sum_givens += iTypeError: unsupported operand type(s) for +=: 'int' and 'tuple'``

I understand this error, but I'm not sure how to solve it.

What I'm trying to do is allow the user to input a number of values, or a range, and have python output the sum.

I haven't implemented the range yet.

You don't want to use `zip` and the splat syntax here. Instead, you should use `str.split` to split the input on commas:

``````for i in values.split(","):
``````

Below is a demonstration:

``````>>> def sum_given(values):
...     s = 0
...     for i in values.split(","):
...         s += int(i)
...     return s
...
>>> v_list = input("Enter values to be summed.\n> ")
Enter values to be summed.
> 1,2,3,4,5
>>> result_of_sum = sum_given(v_list)
>>> print(result_of_sum)
15
>>>
``````

Note however that you could use `sum` and a generator expression to simplify your function:

``````>>> def sum_given(values):
...     return sum(int(x) for x in values.split(","))
...
>>> v_list = input("Enter values to be summed.\n> ")
Enter values to be summed.
> 1,2,3,4,5
>>> result_of_sum = sum_given(v_list)
>>> print(result_of_sum)
15
>>>
``````

A more pythonic way to do this is to replace the for loop with a sum() over a comprehension, generator, or map.

``````def sum_given(strValues):
return sum(int(v) for v in strValues.split(","))

# output 15
print sum_given("1,2,3,4,5")
``````
``````>>> def sum_given():
...     for i in input("Enter numbers: ").split(','):
...
>>> sum_given()
Enter numbers: 1,2,3,4,5
15
``````

Alternatively:

``````>>> def sum_given():
...     return sum(int(i.strip()) for i in input("Enter numbers: ").split(','))
...
>>> sum_given()
Enter numbers: 1,2,3,4,5
15
``````

Top