Ho appena imparato Python oggi, e così sto pensando di scrivere un codice sulla ricorsione, in modo ingenuo. Quindi, come possiamo ottenere quanto segue in python?Ricorsione Python all'interno della classe
class mine:
def inclass(self):
self = mine();
def recur(num):
print(num, end="")
if num > 1:
print(" * ",end="")
return num * self.recur(num-1)
print(" =")
return 1
def main():
a = mine()
print(mine.recur(10))
main()
Ho provato a definire se stesso, ma non riuscivo a pensare a un modo per farlo. Eventuali suggerimenti? Grazie mille.
Sì, il seguente lavoro, grazie.
class mine:
def recur(self, num):
print(num, end="")
if num > 1:
print(" * ",end="")
return num * self.recur(self, num-1)
print(" =")
return 1
def main():
a = mine()
print(mine.recur(mine, 10))
main()
perché è necessario definire sé? – Serial
Due note: 1) la funzione 'inclass' non fa nulla di inutile, assegna semplicemente un'istanza di' mine' al nome locale chiamato 'self' e poi lo getta via e 2) non vedo nulla vera ragione per rendere questa una classe - solo una semplice funzione 'recur()' farebbe. –
Giusto per chiarire: non è necessario inserire una risposta nella domanda. Ecco perché hai un pulsante per accettare una risposta. Altro che non sono davvero sicuro del motivo per cui hai ricevuto così tanti downvotes (+1 da me per contrastarlo). – freakish