exercice Algo NSI en python : consigne pas claire. - Python - Programmation
Marsh Posté le 23-04-2024 à 17:53:38
Euh clairement pas niveau lycée ce truc...
On ne comprend pas grand chose sur la première photo mais la 2eme semble plus clair.
A priori je dirais que le choix de la case (nombre) suivant ne se fait pas au hasard mais en essayant de maximiser la nouvelle surface.
De 1 à 2 : pas le choix, obligé de prendre 2 (+2 cases)
De 2 à 3 : choix entre 1 (+ 4 cases) et 3 (1 seule)
De 3 à 4 : choix entre 2 ou 3 (+3 cases) et 4 (+4 cases)
De 4 à 5 : choix entre 2 (+4 cases) et 3 (+5 cases)
C'est systématiquement le plus gros choix qui est pris (mais j'imagine qu'en cas d'égalité on peut faire du random).
Après ce qui est dur (enfin je ne connais pas le niveau de ton fils mais ça me parait chaud pour un lycéen ayant eu peu de cours de code/algorithmie), c'est le path finding des cases non continu avec le bloc dont on part, quand on compte pour trouver le meilleur chemin il faut ajouter les cases de chiffre identique (les 1 en bas dans l'étape 2 à 3).
Je ne connais pas trop Python mais à la place de ton fils je me servirais d'un clone de tableau (pour marquer les cellules "traité" que ce soit déjà "colorié" avec le chiffre actuel + et celle déjà compté -) et je ferais une boucle de ce genre:
Code :
|
C'est loin d'être optimisé car le mieux serait de ne gérer que les cases de contour mais pour du niveau lycée, je crois qu'on vas se contenter de faire fonctionnel.
Attention aussi à suivre tout les chemins et bifurcation possible, je ne crois pas avoir vu d'exemple piégeux sur ta 2eme photo mais si la liste est vraiment random il faudra être capable de compter correctement tout les 1 dans un cas comme celui la:
Code :
|
En espérant que ça puisse aider !
Marsh Posté le 23-04-2024 à 17:59:29
En fait mon truc fait de la résolution automatique alors qu’apparemment (photo 1), il y'aurai un joueur donc je supposes qu'il s'agit plus de réagir à des inputs...
Du coup il s'agit plus d'attendre que l'utilisateur choisisse une case (clic ou input clavier ?), qu'on vérifie si le choix est possible et qu'on remplace les cases contigu par le chiffre choisi.
Une partie de mon pseudo code reste valide...
Marsh Posté le 23-04-2024 à 18:34:48
alors justement apparemment le prof leur a dit que e jeu se fait tout seul....
Seul le tableau de départ est généré aléatoirement...
Franchement je ne sais pas quoi en penser...
De toutes les façons, si les gamins posent des questions là seule réponse di prof : "si tu comprends pas, c est que tu n'as rien à faire ds mon cours".
Donc plus personne ne pose de questions.. zt comme on ne peut plus envoyer de messages au prof....
Bref, étant moi même ds le métier, c est le genre de collègue à qui je casserai bien la gueule, mais la justice ne l accepte pas
Bo. je vais regarder to pseudo algo, mais pas sur dz tout bien comprendre, et surtout je ne maîtrise pas python, donc compliqué.
PS : mon gami. n a toujours pas ompris comment manipuler des cellules ds un tableau python, alors...
Marsh Posté le 24-04-2024 à 08:12:07
Y'a enormement de ressource pour Python sur Internet, n'hésite pas à chercher dans Google, par exemple pour les tableaux : https://www.guru99.com/fr/python-2d-array.html
Si ton gamin préfère des vidéos, ça doit se trouver aussi.
Tu as aussi des "cours complet" genre https://openclassrooms.com/fr/cours [...] mme-python
Enfin n’hésite pas a utiliser un fiddle pour tester le code et le partager ici.
http://pythonfiddle.com/
https://python-fiddle.com/
https://www.mycompiler.io/
On devrait pouvoir vous aider, après la politique du forum c'est d'aider, pas de "faire à la place de", surtout des exercices "scolaire".
Bon courage à vous 2 !
Marsh Posté le 24-04-2024 à 19:19:17
Bonjour,
bon finalement, on peut "jouer" plutôt que de faire jouer l'ordinateur.
On a pondu ça : ça focntionne.
Il y a certainement moyen d'optimiser.
Code :
|
Marsh Posté le 23-04-2024 à 10:25:01
Bonjour à tous,
mon fils a un exo à faire en python, il n' a pas de consigne claire (aucun doc n'a été fourni par le prof). Évidemment l'ent ne fonctionne plus (plus de messagerie suite aux evenements récents, donc impossible de demander quoi que ce soit au prof)
On part d'un tableau n x n rempli aléatoirement de nombres. (ça c'est programmé)
Ensuite on garde la case (0,0) et on prend une des cases adjacentes (au hasard ?)
Si cette case contient par exemple un 2, alors la case précédente passe à 2 et ces cases ne peuvent plus être choisies.
Ensuite on sélectionne (au hasard ?) une case adjacente à une de ces deux cases, puis on change les nombres pour la valeur contenue dans cette case.
Et ainsi de suite, jusqu'à ce que le tableau soit rempli avec les mêmes chiffres (soit disant jeu des couleurs)
Bref, voici un schéma sur un exemple.
Si j'ai bien compris ce qu'il faut faire : DEMERDEN SIE SICH, programmez ce truc en python !!!!
Voici l'exemple, puis ce que mon fils et sa binome ont commencé et les commentaires du prof.
Je suis moi même prof, et franchement ce type est un gros boulet : pas de cours, ou alors il pompe des cours de fac tout prêt mais pas adapté aux niveaux des élèves...
https://ibb.co/f42gJ4B
https://ibb.co/yhHhHVV
Merci pour votre aide.
Message édité par davidmarli le 23-04-2024 à 10:47:13
---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF