On Sat, Sep 6, 2008 at 12:57 AM, castironpi <[EMAIL PROTECTED]> wrote: > On Sep 5, 9:20 pm, "Manu Hack" <[EMAIL PROTECTED]> wrote: >> On Fri, Sep 5, 2008 at 1:04 PM, castironpi <[EMAIL PROTECTED]> wrote: >> > On Sep 5, 3:28 am, "Manu Hack" <[EMAIL PROTECTED]> wrote: >> >> On Thu, Sep 4, 2008 at 4:25 PM, castironpi <[EMAIL PROTECTED]> wrote: >> >> > On Sep 4, 2:42 pm, [EMAIL PROTECTED] wrote: >> >> >> David C. Ullrich: >> >> >> >> > At least in mathematics, the sum of the elements of >> >> >> > the empty set _is_ 0, while the maximum element of the >> >> >> > empty set is undefined. >> >> >> >> What do you think about my idea of adding that 'default' argument to >> >> >> the max()/min() functions? >> >> >> >> Bye, >> >> >> bearophile >> >> >> > For max and min, why can't you just add your argument to the set >> >> > itself? >> >> >> > The reason max([]) is undefined is that max( S ) is in S. >> >> >> It makes sense. >> >> >> >The reason sum([]) is 0 is that sum( [ x ] ) - x = 0. >> >> >> It doesn't make sense to me. What do you set x to? >> >> > For all x. >> >> But then how can you conclude sum([]) = 0 from there? It's way far >> from obvious. > > You can define sum([a1,a2,...,aN]) recursively as > sum([a1,a2,...a(N-1)])+aN. Call the sum sum([a1,a2,...,aN]) "X", then > subtract aN. > > sum([a1,a2,...a(N-1)])+aN=X > sum([a1,a2,...a(N-1)])+aN-aN=X-aN > > For N=2, we have: > > sum([a1,a2])=X > sum([a1,a2])-a2=X-a2 > sum([a1,a2])-a2-a1=X-a2-a1 > > Since X= a1+ a2, replace X. > > sum([a1,a2])-a2-a1=(a1+a2)-a2-a1 > > Or, > > sum([a1,a2])-a2-a1=0 > > Apply the recursive definition: > > sum([a1])+a2-a2-a1=0 > > And again: > > sum([])+a1+a2-a2-a1=0 > > And we have: > > sum([])=0.
It makes more sense now, I just wanted to point out that only with sum([x]) = x, you can't get sum([]) = 0. -- http://mail.python.org/mailman/listinfo/python-list