[Edu-sig] Fibonacci Numbers and Phi (again)
kirby urner
kirby.urner at gmail.com
Sat Nov 23 20:11:39 CET 2013
Yes, I would consider that an improvement, though I might go back to a
generator with:
from math import sqrt
rt5 = sqrt(5)
phi = (1 + rt5)/2
def neat_formula(f0, f1, f2):
while True:
yield (f0 + f2 + rt5*f1)/2
f0, f1, f2 = f1, f2, f1+f2
power_of_phi = phi**(-6)
results = neat_formula(13, -8, 5) # seed me
for k in range(20):
print("{0:8.5f} {1:8.5f}".format(power_of_phi, next(results)))
power_of_phi *= phi
Going back and forth between yours and mine is introducing a small delta,
so if the game were to introduce generators as a genre, I could see doing a
bunch of small deltas like this.
Kirby
On Sat, Nov 23, 2013 at 10:54 AM, Litvin <litvin at skylit.com> wrote:
> Kirby,
>
> You are right, a little program does help to clarify the statement and the
> formulas involved. But then, keep it really simple (no classes, no
> generators), so that understanding of the code doesn't get in the way. For
> example:
>
> from math import sqrt
>
> rt5 = sqrt(5)
> phi = (1 + rt5)/2
>
> def neat_formula(f0, f1, f2):
> return (f0 + f2 + rt5*f1)/2
>
> power_of_phi = phi**(-6)
> f0, f1, f2 = 13, -8, 5
> for k in range(20):
> print("{0:8.5f} {1:8.5f}".format(power_of_phi, neat_formula(f0, f1,
> f2)))
> f0, f1, f2 = f1, f2, f1+f2
> power_of_phi *= phi
>
> There are many other occasions to bring in more advanced tools.
>
> Gary Litvin
> www.skylit.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/edu-sig/attachments/20131123/a11aeeb7/attachment.html>
More information about the Edu-sig
mailing list