>> def adder1(*args): >> print 'adder1', >> if type(args[0]) == type(0): >> sum = 0 >> else: >> sum = args[0][:0] >> for arg in args: >> sum = sum + arg >> return sum
This function looks overly enamored with Python slicing. *grin* Unless I'm missing something, this function can be simplified to: #################################################################### def adder(*args): """Sum up a list of args, assuming that the list is nonempty.""" running_sum = args[0] for element in args[1:]: running_sum = running_sum + element return running_sum #################################################################### That is, in stilted English: take the first element, and treat that as our initial sum. Run through the rest of the elements, and add each such element to our running sum. At the end of the iteration, we should be done, and our running subtotal sum should be the sum of all the elements. _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor