Skip to content Skip to sidebar Skip to footer

Python Recursion Within Class

I just learn python today, and so am thinking about writing a code about recursion, naively. So how can we achieve the following in python? class mine: def inclass(self):

Solution 1:

Each method of a class has to have self as a first parameter, i.e. do this:

defrecur(self, num):

and it should work now.

Basically what happens behind the scene is when you do

instance.method(arg1, arg2, arg3, ...)

Python does

Class.method(instance, arg1, arg2, arg3, ....)

Solution 2:

This is a code example that actually works

classCard():
    def__init__(self,cardsPlayedList,cardPosition):
        self.cardsPlayedList = cardsPlayedList
        self.cardPosition = cardPosition
    #    self.cardPositiondefgetNewCard(self,cardPosition):
        cardNum = 0
        cardInList = False
        
        cardNum = random.randint(1,len(cardList)-1)          # Get random card from List - 1 to 52 for x in self.cardsPlayedList:
            if(cardNum == x):
                cardInList = Trueif(cardInList == False):
            self.cardsPlayedList.insert(self.cardPosition, cardNum)    # if card not already played then store in listreturn cardNum
        else:
            return self.getNewCard(cardPosition)   

Solution 3:

# USING FUNCTION    deffunction_recursion(number):
    if number <= 1:
        return number
    else:
        return (number + function_recursion(number - 1))
result = function_recursion(5)
print("function recurssion: ", result)

#USING CLASSclassRecursion:
    def__init__(self, number):
        self.number = number
        
    defrecur(self):
        if self.number <= 1:
            returnTrueelse:
            return (self.number + recur(self.number - 1))
result = Recursion(3)
print("Recurssion using class: ",result.recur())

Post a Comment for "Python Recursion Within Class"