Iteration for Factorials
Amit Khemka
khemkaamit at gmail.com
Mon Oct 22 09:00:54 EDT 2007
On 10/22/07, Py-Fun <lorna.burns at gmail.com> wrote:
> On 22 Oct, 13:28, "Diez B. Roggisch" <de... at nospam.web.de> wrote:
> > Py-Fun 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.
> >
> > Show us your attempts, and we might suggest a fix. Because otherwise this
> > sounds suspiciously like homework.
> >
> > Diez
>
> Here is my futile attempt. Be careful with this though, I just ran
> something similar and it was never ending...
>
> def itforfact(n):
> while n<100:
> print n
> n+1
> n = input("Please enter a number below 100")
>
> itforfact(n)
Let me give you a pseudo code (which though can be found in most of
the textbooks and some 'simple' googling). Try to understand the code
and then write an equivalent python function.
function iFactorial(n: integer): integer;
var i, temp: integer;
begin
temp = 1;
for i = 1 to n do
temp = temp * i
end
return temp
About your code.
1. why doesn't it surprise you if the code that you posted goes in
infinite loop ?!
2. why do you use condition: n < 100
3. How do you think that your function will calculate the factorial ?
4. Instead of "input" use "raw_input", and then "cast" the input as integer .
Cheers,
amit.
--
--
Amit Khemka
More information about the Python-list
mailing list