Partage
  • Partager sur Facebook
  • Partager sur Twitter

DEVOIRS

aide pour un devoirs

29 décembre 2021 à 23:01:28


-
Edité par ShiryneBousnina 30 décembre 2021 à 23:15:10

  • Partager sur Facebook
  • Partager sur Twitter
30 décembre 2021 à 4:25:19

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.
  • Partager sur Facebook
  • Partager sur Twitter

Le Tout est souvent plus grand que la somme de ses parties.

30 décembre 2021 à 20:15:51

.

-
Edité par ShiryneBousnina 30 décembre 2021 à 23:15:29

  • Partager sur Facebook
  • Partager sur Twitter
30 décembre 2021 à 20:30:11

PierrotLeFou a écrit:

Sais-tu ce qu'est la récursivité?

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?
  • Partager sur Facebook
  • Partager sur Twitter
30 décembre 2021 à 21:49:18

.

-
Edité par ShiryneBousnina 30 décembre 2021 à 23:15:41

  • Partager sur Facebook
  • Partager sur Twitter
30 décembre 2021 à 22:29:53

ShiryneBousnina a écrit:

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).

  • Partager sur Facebook
  • Partager sur Twitter
31 décembre 2021 à 0:50:12

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:

# -*- coding: utf-8 -*-
##############################################
## Recherche d'un chemin dans un labyrinthe ##
##############################################
 
laby1= [[0,1,0,0,0,0],
        [0,1,1,1,1,0],
        [0,1,0,1,0,0],
        [0,1,0,1,1,0],
        [0,1,1,0,1,0],
        [0,0,0,0,1,0]]
entree1 = (0,1)
sortie1 = (5,4)
 
 
laby2 = [
[0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0],
[0,0,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,1,1,0],
[0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0,1,1,0],
[0,1,0,1,1,0,0,0,0,0,0,0,0,1,1,1,0,1,1,0],
[0,1,0,1,1,1,1,1,1,1,1,1,0,1,1,1,0,1,1,0],
[0,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,0],
[0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,0],
[0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
[0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,0],
[0,0,0,0,1,1,0,1,1,1,0,1,1,1,1,1,1,1,1,0],
[0,1,1,0,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,0],
[0,1,1,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0],
[0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0],
[0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,0],
[0,1,1,1,1,0,0,0,0,0,0,1,1,1,0,1,1,1,1,0],
[0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0],
[0,1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0],
[0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0],
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0]]
entree2 = (0,1)
sortie2 = (19,18)



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.




  • Partager sur Facebook
  • Partager sur Twitter