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 Robert P. J. Day other posts by this author
Nov 8 2009 4:17AM messages near this date
Re: My own accounting python euler problem | Re: My own accounting python euler problem
On Sun, 8 Nov 2009, Ozz wrote:

> 
>  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.

  does your solution allow for the possibility of different invoices
of equal amounts?  i would be reluctant to use the word "subset" in a
context where you can have more than one element with the same value.

rday
--


========================================================================
Robert P. J. Day                               Waterloo, Ontario, CANADA

            Linux Consulting, Training and Kernel Pedantry.

Web page:                                          http://crashcourse.ca
Twitter:                                       http://twitter.com/rpjday
========================================================================
-- 
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