ASPN ActiveState Programmer Network
ActiveState
/ Home / Perl / PHP / Python / Tcl / XSLT /
/ Safari / My ASPN /
Cookbooks | Documentation | Mailing Lists | Modules | News Feeds | Products | User Groups


Recent Messages
List Archives
About the List
List Leaders
Subscription Options

View Subscriptions
Help

View by Topic
ActiveState
.NET Framework
Open Source
Perl
PHP
Python
Tcl
Web Services
XML & XSLT

View by Category
Database
General
SOAP
System Administration
Tools
User Interfaces
Web Programming
XML Programming


MyASPN >> Mail Archive >> python-list
python-list
Re: My own accounting python euler problem
by Ozz other posts by this author
Nov 8 2009 2:48AM messages near this date
My own accounting python euler problem | Re: My own accounting python euler problem
Hi,

>  My first question is:
>  1. given a list of invoives I=[500, 400, 450, 200, 600, 700] and a
>  check Ch=600
>  how can I print all the different combinations of invoices that the
>  check is possibly cancelling
>  

Incidentally, I'm currently learning python myself, and was working on 
more or less the same problem as an exercise;

For listing all different subsets of a list (This is what I came up 
with. Can it be implemented shorter, btw?):

def subsets(L):
         S = []
         if (len(L) == 1):
                 return [L, []]
         else:
                 for s in subsets(L[1:]):
                         S.append(s)
                         S.append(s + [ L[0]])
         return S

Now, to use the above piece of code (after 'import subset'):

 > >> subset.subsets([4,7,8,2])
[[2], [2, 4], [2, 7], [2, 7, 4], [2, 8], [2, 8, 4], [2, 8, 7], [2, 8, 7, 
4], [], [4], [7], [7, 4], [8], [8, 4], [8, 7], [8, 7, 4]]
 > >> map(sum,subset.subsets([4,7,8,2]))
[2, 6, 9, 13, 10, 14, 17, 21, 0, 4, 7, 11, 8, 12, 15, 19]

It's not a real solution yet, and as others have pointed out the problem 
is NP complete but it might help to get you going.

cheers,
Ozz





-- 
http://mail.python.org/mailman/listinfo/python-list
Thread:
Vsoler
Ozz
Raymond Hettinger
John Machin
Steven D'Aprano
Steven D'Aprano
John Machin
Mel
Steven D'Aprano
Geremy Condra
Gerry
Mrab
Mrab
Vsoler
Ozz
Dan Bishop
Ozz
Geremy Condra
Geremy Condra
Ozz
Ozz
Robert P. J. Day
Martin P. Hellwig
Robert P. J. Day
Robert P. J. Day
Jack Diederich

Privacy Policy | Email Opt-out | Feedback | Syndication
© ActiveState Software Inc. All rights reserved