On avance sur le projet Laby

Pour aujourd’hui, il fallait avoir codé quelques fonctions dont une récursive sur les tableaux à double entrée.

Corrections individuelles pendant que d’autres avancent sur le projet ci-dessous. Le corrigé commenté en fin d’heure est disponible à la fin de cet article.


Back to projet Laby – le retour de la revanche

On avance sur ce projet. On finira lundi.

Pour ceux qui ont fini :

  • Comparaison avec un autre procédé algorithmique utilisant une autre structure de données : la pile ou la file.
  • Creuser un labyrinthe à l’aide d’un autre procédé de ce type.
from random import randint

def tableau_aleatoire(n, p):
    return [[randint(0,9) for colonne in range(p)]
                for ligne in range(n)]

def affiche(t, n, p):
    for ligne in t:
        for elt in ligne:
            print(elt, end = '\t')
        print()
    print()

def tableau_des_max(T, n, p):
    return [[somme_max(T, ligne, colonne) 
            for colonne in range(p)]
                for ligne in range(n)]

def somme_max(T, i, j):
    if i == 0 and j == 0:
        return T[0][0]
    elif i == 0:
        return somme_max(T, 0, j - 1) + T[0][j]
    elif j == 0:
        return somme_max(T, i - 1, 0) + T[i][0]
    else:
        return max(somme_max(T, i - 1, j),
                   somme_max(T, i, j - 1)) + T[i][j]

T = tableau_aleatoire(6, 7)
affiche(T, 6, 7)
print("Le max des chemins est", somme_max(T, 5, 6))
print()
affiche(tableau_des_max(T, 6, 7), 6, 7)

N'hésitez-pas à poser une question, ou faire avancer le schmilblick

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.