[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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: >>> def add(numbers): >>> total = 1 >>> for x in numbers: >>> total += x >>> return total >>> print(add(1999, -672, 84)) >> >> Your function "add" expects a single argument that is a list >> of numbers. You're passing it three arguments, each a number. >> Try add([1999, -672, 84]). 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: > > def add(*numbers): > # 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

- Prev by Date:
**answer not correct** - Next by Date:
**returning totals in functions of math** - Previous by thread:
**returning totals in functions of math** - Next by thread:
**returning totals in functions of math** - Index(es):