# returning totals in functions of math

```Comments interposed:-

On 09/11/2020 08:14, 2QdxY4RzWzUUiLuE at potatochowder.com wrote:
> On 2020-11-08 at 19:00:34 +0000,
> Peter Pearson <pkpearson at nowhere.invalid> wrote:
>> On Sun, 8 Nov 2020 13:50:19 -0500, Quentin Bock <qberz2005 at gmail.com> wrote:
>>> Errors say that add takes 1 positional argument but 3 were given? Does this
>>> limit how many numbers I can have or do I need other variables?
>>> Here is what I have:
>>>     total = 1
>>>     for x in numbers:
>>>            total += x
>>
>> Your function "add" expects a single argument that is a list
>> of numbers.  You're passing it three arguments, each a number.

Minor point ('here'): aren't arguments passed as a tuple? (cf "list")

[next point probably more advanced than OP requires]
Major 'gotchas' elsewhere: remember the difference between passing an
immutable, cf a mutable, argument (tuple cf list)! Also related,
functions' name-spaces:

>>> my_list = [ 1, 2, 3 ]
>>> def function1( any_list ):
...     any_list = [ 4, 5, 6 ]
...
>>> function1( my_list )
>>> my_list
[1, 2, 3]
>>> def function2( any_list ):
...     any_list.append( [ 4, 5, 6 ] )
...
>>> function2( my_list )
>>> my_list
[1, 2, 3, [4, 5, 6]]

- neither of which works with tuples...

Some refer to such mutable 'flexibility' as a "side-effect" and thus
undesirable/to be avoided.

> Or change add to accept an arbitrary number of arguments and collect
> them into a tuple:
>
>          # then the rest of the function as before

+1

> BTW, why initialize total to 1?

Because OP copied 'multiply' code, completed earlier?

[OP]
Once you have this code working, as above, consider refactoring to use
sum()...

Web.Refs:
https://docs.python.org/3/library/functions.html
https://riptutorial.com/python/example/28509/mutable-and-immutable-as-arguments
--
Regards =dn

```