Iteration for Factorials
Ant
antroy at gmail.com
Mon Oct 22 16:45:48 CEST 2007
On Oct 22, 1:26 pm, Py-Fun <lorna.bu... at gmail.com> wrote:
> I'm stuck trying to write a function that generates a factorial of a
> number using iteration and not recursion. Any simple ideas would be
> appreciated.
The following simple adder functions should give you an idea of how
recursion can be recast as iteration:
def acc(i):
'''i should be a positive integer'''
if i > 0:
return i + acc(i - 1)
return 0
print "acc", acc(9)
def itt(i):
'''i should be a positive integer'''
out = 0
while i > 0:
out += i
i = i - 1
return out
print "itt", itt(9)
> ...
> Is it a "factorial" though?
Er, no. And neither is mine. You may want to google for the definition
of factorial! Here's a hint:
reduce(operator.mul, range(1, i + 1))
--
Anthony Roy
More information about the Python-list
mailing list