# [Tutor] Fwd: RE: Finding the max value from a dictionary that does not exceed a variable's value.

Danny Yoo dyoo at hashcollision.org
Tue Feb 2 16:23:07 EST 2016

```---------- Forwarded message ----------
From: "Danny Yoo" <danny.yoo at gmail.com>
Date: Feb 2, 2016 1:22 PM
Subject: RE: [Tutor] Finding the max value from a dictionary that does not
exceed a variable's value.
To: "Lawrence Lorenzo" <mcshizney at hotmail.co.uk>
Cc:

On Feb 2, 2016 10:34 AM, "Lawrence Lorenzo" <mcshizney at hotmail.co.uk> wrote:
>
>
> I can do it with a list, however I need to be able to print the change
amount in coin names. Thanks for your reply sorry I didn't respond earlier
I didn't see it until just now.
> Just to expand on what I'm trying with this is to print an arbitrary
value as 1p, 2p, 5p, 10p, 20p, 50p, £1 in the least amount required so if
the change needed is £2.37 then the program prints that much as ("£1, £1,
20p, 10p, 5p, 2p")

Consider separating the process of computing the answer from presentation
of that answer.

That is: just because you have to print or the coin names at the end
doesn't mean you have to *compute* the change in terms of those string
names.

You can compute in terms of the numerical coin values first, and as a
separate step, translate the answer back in terms of coin names when
presenting the answer.

Think of a problem where someone asks you to add two Roman numerals
together.  It would be madness to try to do that without first changing the
representation into something more computer-friendly.  Same line of
reasoning. Choose the data representation to make the problem easy to
solve.  As long as we have a way to go back from that representation to
something that's human readable, were good to go.
```

More information about the Tutor mailing list