Tes labyrinthes sont des grilles ou matrices au sens des mathématiques. Mais ils sont des listes de listes au sens de Python Comme pour une matrice, tu peux accéder à une position précise avec 2 indices tel que laby1[l][c] (l = ligne, c = colonne) Sais-tu ce qu'est la récursivité? Parce que c'est la meilleure façon de régler ce problème. Tu dois vérifier à chaque itérartion les 4 possibilités mais en marquant celle d'où tu viens. Et tu dois vérifier que les indices sont valides 0 <= indice < longueur Est-ce que la boucle for suivante te dis quelque chose? for x, y in ((l-1, c), (l+1, c), (l, c-1), (l, c+1)): if(0 <= x <len(laby1) and 0 <= y < len(laby1[0]) and laby1[x][y] == 1: # je marque ma position laby1[x][y] = -1 # je peux avancer à cette position Il faut ramener les -1 à 1 si on doit reculer.
Le Tout est souvent plus grand que la somme de ses parties.
Si on les fait bosser sur des piles c'est justement pour ne pas utiliser la récursivité!
ShiryneBousnina a écrit:
Je suis pas à l'aise avec python de base mais ce devoirs ne correspond pas du tout avec les exercices pratiqués en cours. Si quelqu'un a les réponses de ce devoirs ça m'aiderait beaucoup. Merci.
Et jusqu'ici, vous avez fait quoi? Et quelles difficultés vous bloquent?
Pour vous répondre honnêtement je n'ai pratiquement rien compris sur les piles donc je bloque à chaque question. Je sais qu'une pile est une structure de données abstraite qu'on utilise à l'aide d'une liste et qu'il est possible de de "dépiler" et d' "empiler". Mais mes connaissances sont assez limitées.
Une pile d'assiettes vous voyez ce que c'est? On retire et ajoute des assiettes au dessus (et pas au milieu ou en bas). Si vous n'arrivez pas à vous en sortir pour les 3 premières questions, ou expliquer ce qui vous bloque en montrant ce que vous avez essayé... Attendez la correction du professeur (et aux prochaines vacances n'attendez pas la veille de la rentrée pour combler vos retards).
Bonjour, on n'efface pas ses message après avoir reçu de l'aide.
Je recopie pour archive le message d'origine et ferme ce sujet.
ShiryneBousnina a écrit:
Bonjour, je suis en terminale spécialité NSI (matière au lycée qui signifie numérique et sciences informatiques) et j'ai des difficultés pour un devoirs sur python en 2 parties. Une sur la calculatrice polonaise inversée et une autre qui consiste à résoudre un labyrinthe. Voici le programme à compléter:
Je suis pas à l'aise avec python de base mais ce devoirs ne correspond pas du tout avec les exercices pratiqués en cours. Si quelqu'un a les réponses de ce devoirs ça m'aiderait beaucoup. Merci.
Le Tout est souvent plus grand que la somme de ses parties.