[Tutor] self keyword in recursive function

Ritwik Raghav ritwikraghav14 at gmail.com
Fri May 30 15:14:38 CEST 2014


I joined the topcoder community tomorrow and tried solving the
PersistentNumber problem:
"Given a number x, we can define p(x) as the product of the digits of x. We
can then form a sequence x, p(x), p(p(x))... The persistence of x is then
defined as the index (0-based) of the first single digit number in the
sequence. For example, using 99, we get the sequence 99, 9*9 = 81, 8*1 = 8.
Thus, the persistence of 99 is 2. You will be given n, and you must return
its persistence."

It asks to define a function def getPersistence(self, n). I solved the
problem in IDLE. My code is:

def getPersistence(n,count = 0):
    product = 1
    if len(str(n)) == 1:
        return count
    else:
        a = str(n)
        for i in range(len(a)):
            product *= int(a[i])
        count += 1
        return getPersistence(product,count)

Now plz help me to convert the above code in specified format. Or help me
understand how to recreate the function as specified.
-- 
Ritwik Raghav
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20140530/f3b9338e/attachment.html>


More information about the Tutor mailing list