Maison > Article > développement back-end > Méthode Python pour résoudre le problème des étapes d'ordre N
Cet article présente principalement la méthode Python pour résoudre le problème des étapes d'ordre N, décrit brièvement le problème des étapes et analyse les compétences opérationnelles associées de Python en utilisant des algorithmes récursifs et récursifs pour résoudre le problème des étapes sous forme d'exemples dont il a besoin. Les amis peuvent se référer à
Cet article décrit comment Python résout le problème des étapes d'ordre N. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :
Question : Il y a N marches dans un bâtiment. Le lapin peut sauter de 1, 2 ou 3 marches à chaque fois. là au total ?
Analyse d'Afanty :
Lorsque vous rencontrez ce genre de problème de recherche de modèles, poussez et poussez-vous. Combien y a-t-il de mouvements au niveau 1 ? Combien y a-t-il de mouvements au niveau 2 ? Combien y a-t-il de mouvements au niveau 3 ? Combien y a-t-il de mouvements au niveau 4 ? Combien y a-t-il de mouvements au niveau 5 ?
C'est vrai, les règles sont sorties !
Points d'erreur : Ce n'est pas un problème de combinaison, car passer l'étape 1 pour la première fois et l'étape 2 pour la deuxième fois est différent de passer l'étape 2 pour la première fois et l'étape 1 pour la deuxième fois
Ce qui suit est le code d'implémentation récursif de Python :
def allMethods(stairs): ''''' :param stairs:the numbers of stair :return: ''' if isinstance(stairs,int) and stairs > 0: basic_num = {1:1,2:2,3:4} if stairs in basic_num.keys(): return basic_num[stairs] else: return allMethods(stairs-1) + allMethods(stairs-2) + allMethods(stairs-3) else: print 'the num of stair is wrong' return False
De Bien sûr, des méthodes non récursives peuvent également être utilisées. Implémentation, voici le code basé sur la méthode de récursivité :
def allMethod(stairs): '''''递推实现 :param stairs: the amount of stair :return: ''' if isinstance(stairs,int) and stairs > 0: h1,h2,h3,n = 1,2,4,4 basic_num = {1:1,2:2,3:4} if stairs in basic_num.keys(): return basic_num[stairs] else: while n <= stairs: temp = h1 h1 = h2 h2 = h3 h3 = temp + h1 + h2 return h3 else: print 'the num of stair is wrong' return False
Explication détaillée du calcul des intégrales définies via la méthode de Monte Carlo en programmation Python
exécution par lots de sous-processus de commandes Linux dans python
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!