0

I have this following code:

    class NumberAdder:
        def adder(self, *args):
            self.sum = 0
            for i in args:
                self.sum += i
            return self.sum

    class StringAdder:
        def adder(self, *args):
            self.word = []
            for i in list(args):
                self.word.append(i)
            print(self.word)

    class ThingsAdder:
        def __init__(self, *args):
            self.box = args
        def stringAdder(self):
            a = StringAdder()
            a.adder(self.box)

        def numberAdder(self):
            a = NumberAdder()
            a.adder(self.box)

    c = ThingsAdder(1,2,3,4,5,6,9)
    c.numberAdder()

The problem is as you can see i assign *args to another *args. What should i do to make *args in NumberAdder class receive unpacked (not in form of tuple) arguments ?

maxime
  • 35
  • 6
  • 2
    Do `a.adder(*self.box)` (note the star before the argument). That unpacks the tuple and passes it as individual arguments. – poke May 22 '16 at 21:09
  • Why loop over your args? `sum(args)` and `list(args)` are the only things you need to return in those classes – OneCricketeer May 22 '16 at 21:11

0 Answers0