diff --git a/Dijkstra/algo.py b/high-school/Dijkstra/algo.py similarity index 100% rename from Dijkstra/algo.py rename to high-school/Dijkstra/algo.py diff --git a/Dijkstra/fonctions.md b/high-school/Dijkstra/fonctions.md similarity index 100% rename from Dijkstra/fonctions.md rename to high-school/Dijkstra/fonctions.md diff --git a/LICENSE b/high-school/LICENSE similarity index 100% rename from LICENSE rename to high-school/LICENSE diff --git a/Partie2/Eleve/._livres.sql b/high-school/Partie2/Eleve/._livres.sql similarity index 100% rename from Partie2/Eleve/._livres.sql rename to high-school/Partie2/Eleve/._livres.sql diff --git a/Partie2/Eleve/._p_app_web_python_sqlite.pdf b/high-school/Partie2/Eleve/._p_app_web_python_sqlite.pdf similarity index 100% rename from Partie2/Eleve/._p_app_web_python_sqlite.pdf rename to high-school/Partie2/Eleve/._p_app_web_python_sqlite.pdf diff --git a/Partie2/Eleve/Projet/__init__.py b/high-school/Partie2/Eleve/Projet/__init__.py similarity index 100% rename from Partie2/Eleve/Projet/__init__.py rename to high-school/Partie2/Eleve/Projet/__init__.py diff --git a/Partie2/Eleve/Projet/control.py b/high-school/Partie2/Eleve/Projet/control.py similarity index 100% rename from Partie2/Eleve/Projet/control.py rename to high-school/Partie2/Eleve/Projet/control.py diff --git a/Partie2/Eleve/Projet/index.html b/high-school/Partie2/Eleve/Projet/index.html similarity index 100% rename from Partie2/Eleve/Projet/index.html rename to high-school/Partie2/Eleve/Projet/index.html diff --git a/Partie2/Eleve/Projet/templates/index.html b/high-school/Partie2/Eleve/Projet/templates/index.html similarity index 100% rename from Partie2/Eleve/Projet/templates/index.html rename to high-school/Partie2/Eleve/Projet/templates/index.html diff --git a/Partie2/Eleve/livres.db b/high-school/Partie2/Eleve/livres.db similarity index 100% rename from Partie2/Eleve/livres.db rename to high-school/Partie2/Eleve/livres.db diff --git a/Partie2/Eleve/livres.db-journal b/high-school/Partie2/Eleve/livres.db-journal similarity index 100% rename from Partie2/Eleve/livres.db-journal rename to high-school/Partie2/Eleve/livres.db-journal diff --git a/Partie2/Eleve/livres.sql b/high-school/Partie2/Eleve/livres.sql similarity index 100% rename from Partie2/Eleve/livres.sql rename to high-school/Partie2/Eleve/livres.sql diff --git a/Partie2/Eleve/p_app_web_python_sqlite.pdf b/high-school/Partie2/Eleve/p_app_web_python_sqlite.pdf similarity index 100% rename from Partie2/Eleve/p_app_web_python_sqlite.pdf rename to high-school/Partie2/Eleve/p_app_web_python_sqlite.pdf diff --git a/Partie2/Eleve/run.py b/high-school/Partie2/Eleve/run.py similarity index 100% rename from Partie2/Eleve/run.py rename to high-school/Partie2/Eleve/run.py diff --git a/README.html b/high-school/README.html similarity index 100% rename from README.html rename to high-school/README.html diff --git a/README.md b/high-school/README.md similarity index 100% rename from README.md rename to high-school/README.md diff --git a/TDliste2liste/exercice1.py b/high-school/TDliste2liste/exercice1.py similarity index 100% rename from TDliste2liste/exercice1.py rename to high-school/TDliste2liste/exercice1.py diff --git a/TDliste2liste/exercice2.py b/high-school/TDliste2liste/exercice2.py similarity index 100% rename from TDliste2liste/exercice2.py rename to high-school/TDliste2liste/exercice2.py diff --git a/TDliste2liste/exercice3.py b/high-school/TDliste2liste/exercice3.py similarity index 100% rename from TDliste2liste/exercice3.py rename to high-school/TDliste2liste/exercice3.py diff --git a/TDliste2liste/exercice4.py b/high-school/TDliste2liste/exercice4.py similarity index 100% rename from TDliste2liste/exercice4.py rename to high-school/TDliste2liste/exercice4.py diff --git a/TDliste2liste/exercice5.py b/high-school/TDliste2liste/exercice5.py similarity index 100% rename from TDliste2liste/exercice5.py rename to high-school/TDliste2liste/exercice5.py diff --git a/TDliste2liste/exercice6.py b/high-school/TDliste2liste/exercice6.py similarity index 100% rename from TDliste2liste/exercice6.py rename to high-school/TDliste2liste/exercice6.py diff --git a/algo2.md b/high-school/algo2.md similarity index 100% rename from algo2.md rename to high-school/algo2.md diff --git a/casse-brique/.gitignore b/high-school/casse-brique/.gitignore similarity index 100% rename from casse-brique/.gitignore rename to high-school/casse-brique/.gitignore diff --git a/casse-brique/LICENSE b/high-school/casse-brique/LICENSE similarity index 100% rename from casse-brique/LICENSE rename to high-school/casse-brique/LICENSE diff --git a/casse-brique/README.md b/high-school/casse-brique/README.md similarity index 100% rename from casse-brique/README.md rename to high-school/casse-brique/README.md diff --git a/casse-brique/balle.py b/high-school/casse-brique/balle.py similarity index 100% rename from casse-brique/balle.py rename to high-school/casse-brique/balle.py diff --git a/casse-brique/bouton.py b/high-school/casse-brique/bouton.py similarity index 100% rename from casse-brique/bouton.py rename to high-school/casse-brique/bouton.py diff --git a/casse-brique/brique.py b/high-school/casse-brique/brique.py similarity index 100% rename from casse-brique/brique.py rename to high-school/casse-brique/brique.py diff --git a/casse-brique/constantes.py b/high-school/casse-brique/constantes.py similarity index 100% rename from casse-brique/constantes.py rename to high-school/casse-brique/constantes.py diff --git a/casse-brique/highscore.py b/high-school/casse-brique/highscore.py similarity index 100% rename from casse-brique/highscore.py rename to high-school/casse-brique/highscore.py diff --git a/casse-brique/highscore.txt b/high-school/casse-brique/highscore.txt similarity index 100% rename from casse-brique/highscore.txt rename to high-school/casse-brique/highscore.txt diff --git a/casse-brique/jeu.py b/high-school/casse-brique/jeu.py similarity index 100% rename from casse-brique/jeu.py rename to high-school/casse-brique/jeu.py diff --git a/casse-brique/main.py b/high-school/casse-brique/main.py similarity index 100% rename from casse-brique/main.py rename to high-school/casse-brique/main.py diff --git a/casse-brique/murdebrique.py b/high-school/casse-brique/murdebrique.py similarity index 100% rename from casse-brique/murdebrique.py rename to high-school/casse-brique/murdebrique.py diff --git a/casse-brique/niveau.py b/high-school/casse-brique/niveau.py similarity index 100% rename from casse-brique/niveau.py rename to high-school/casse-brique/niveau.py diff --git a/casse-brique/raquette.py b/high-school/casse-brique/raquette.py similarity index 100% rename from casse-brique/raquette.py rename to high-school/casse-brique/raquette.py diff --git a/cesar/chiffrement.py b/high-school/cesar/chiffrement.py similarity index 100% rename from cesar/chiffrement.py rename to high-school/cesar/chiffrement.py diff --git a/cesar/message.txt b/high-school/cesar/message.txt similarity index 100% rename from cesar/message.txt rename to high-school/cesar/message.txt diff --git a/cesar/message2.txt b/high-school/cesar/message2.txt similarity index 100% rename from cesar/message2.txt rename to high-school/cesar/message2.txt diff --git a/crypto/algo.py b/high-school/crypto/algo.py similarity index 100% rename from crypto/algo.py rename to high-school/crypto/algo.py diff --git a/crypto/message b/high-school/crypto/message similarity index 100% rename from crypto/message rename to high-school/crypto/message diff --git a/ensembles_dynamiques/TP/_collection.py b/high-school/ensembles_dynamiques/TP/_collection.py similarity index 100% rename from ensembles_dynamiques/TP/_collection.py rename to high-school/ensembles_dynamiques/TP/_collection.py diff --git a/ensembles_dynamiques/TP/_collection_list.py b/high-school/ensembles_dynamiques/TP/_collection_list.py similarity index 100% rename from ensembles_dynamiques/TP/_collection_list.py rename to high-school/ensembles_dynamiques/TP/_collection_list.py diff --git a/ensembles_dynamiques/TP/_sommets.py b/high-school/ensembles_dynamiques/TP/_sommets.py similarity index 100% rename from ensembles_dynamiques/TP/_sommets.py rename to high-school/ensembles_dynamiques/TP/_sommets.py diff --git a/ensembles_dynamiques/TP/_sommets_dict.py b/high-school/ensembles_dynamiques/TP/_sommets_dict.py similarity index 100% rename from ensembles_dynamiques/TP/_sommets_dict.py rename to high-school/ensembles_dynamiques/TP/_sommets_dict.py diff --git a/ensembles_dynamiques/TP/data/Chartreuse.csv b/high-school/ensembles_dynamiques/TP/data/Chartreuse.csv similarity index 100% rename from ensembles_dynamiques/TP/data/Chartreuse.csv rename to high-school/ensembles_dynamiques/TP/data/Chartreuse.csv diff --git a/ensembles_dynamiques/TP/main.py b/high-school/ensembles_dynamiques/TP/main.py similarity index 100% rename from ensembles_dynamiques/TP/main.py rename to high-school/ensembles_dynamiques/TP/main.py diff --git a/fibonacci/code1.py b/high-school/fibonacci/code1.py similarity index 100% rename from fibonacci/code1.py rename to high-school/fibonacci/code1.py diff --git a/fibonacci/complex.py b/high-school/fibonacci/complex.py similarity index 100% rename from fibonacci/complex.py rename to high-school/fibonacci/complex.py diff --git a/fibonacci/fibobo/Cargo.lock b/high-school/fibonacci/fibobo/Cargo.lock similarity index 100% rename from fibonacci/fibobo/Cargo.lock rename to high-school/fibonacci/fibobo/Cargo.lock diff --git a/fibonacci/fibobo/Cargo.toml b/high-school/fibonacci/fibobo/Cargo.toml similarity index 100% rename from fibonacci/fibobo/Cargo.toml rename to high-school/fibonacci/fibobo/Cargo.toml diff --git a/fibonacci/fibobo/src/main.rs b/high-school/fibonacci/fibobo/src/main.rs similarity index 100% rename from fibonacci/fibobo/src/main.rs rename to high-school/fibonacci/fibobo/src/main.rs diff --git a/fichier.md b/high-school/fichier.md similarity index 100% rename from fichier.md rename to high-school/fichier.md diff --git a/file/new/fifo.py b/high-school/file/new/fifo.py similarity index 100% rename from file/new/fifo.py rename to high-school/file/new/fifo.py diff --git a/fonctions_tri/partitionement.py b/high-school/fonctions_tri/partitionement.py similarity index 100% rename from fonctions_tri/partitionement.py rename to high-school/fonctions_tri/partitionement.py diff --git a/get_bac_subject/get_bac_subject/Cargo.lock b/high-school/get_bac_subject/get_bac_subject/Cargo.lock similarity index 100% rename from get_bac_subject/get_bac_subject/Cargo.lock rename to high-school/get_bac_subject/get_bac_subject/Cargo.lock diff --git a/get_bac_subject/get_bac_subject/Cargo.toml b/high-school/get_bac_subject/get_bac_subject/Cargo.toml similarity index 100% rename from get_bac_subject/get_bac_subject/Cargo.toml rename to high-school/get_bac_subject/get_bac_subject/Cargo.toml diff --git a/get_bac_subject/get_bac_subject/src/main.rs b/high-school/get_bac_subject/get_bac_subject/src/main.rs similarity index 100% rename from get_bac_subject/get_bac_subject/src/main.rs rename to high-school/get_bac_subject/get_bac_subject/src/main.rs diff --git a/get_bac_subject/get_bac_subject/url.txt b/high-school/get_bac_subject/get_bac_subject/url.txt similarity index 100% rename from get_bac_subject/get_bac_subject/url.txt rename to high-school/get_bac_subject/get_bac_subject/url.txt diff --git a/graphes/DS_possible/main.py b/high-school/graphes/DS_possible/main.py similarity index 100% rename from graphes/DS_possible/main.py rename to high-school/graphes/DS_possible/main.py diff --git a/graphes/DS_possible/v b/high-school/graphes/DS_possible/v similarity index 100% rename from graphes/DS_possible/v rename to high-school/graphes/DS_possible/v diff --git a/graphes/homework_wednesday.py b/high-school/graphes/homework_wednesday.py similarity index 100% rename from graphes/homework_wednesday.py rename to high-school/graphes/homework_wednesday.py diff --git a/graphes/ht b/high-school/graphes/ht similarity index 100% rename from graphes/ht rename to high-school/graphes/ht diff --git a/graphes/leaudibidon/Water_jug.py b/high-school/graphes/leaudibidon/Water_jug.py similarity index 100% rename from graphes/leaudibidon/Water_jug.py rename to high-school/graphes/leaudibidon/Water_jug.py diff --git a/graphes/leaudibidon/correction.py b/high-school/graphes/leaudibidon/correction.py similarity index 100% rename from graphes/leaudibidon/correction.py rename to high-school/graphes/leaudibidon/correction.py diff --git a/graphes/leaudibidon/main.py b/high-school/graphes/leaudibidon/main.py similarity index 100% rename from graphes/leaudibidon/main.py rename to high-school/graphes/leaudibidon/main.py diff --git a/graphes/maze/fifo.py b/high-school/graphes/maze/fifo.py similarity index 100% rename from graphes/maze/fifo.py rename to high-school/graphes/maze/fifo.py diff --git a/graphes/maze/lifo.py b/high-school/graphes/maze/lifo.py similarity index 100% rename from graphes/maze/lifo.py rename to high-school/graphes/maze/lifo.py diff --git a/graphes/maze/main.py b/high-school/graphes/maze/main.py similarity index 100% rename from graphes/maze/main.py rename to high-school/graphes/maze/main.py diff --git a/graphes/maze/maze_creator.py b/high-school/graphes/maze/maze_creator.py similarity index 100% rename from graphes/maze/maze_creator.py rename to high-school/graphes/maze/maze_creator.py diff --git a/graphes/maze/test.py b/high-school/graphes/maze/test.py similarity index 100% rename from graphes/maze/test.py rename to high-school/graphes/maze/test.py diff --git a/graphes/monday_homework.py b/high-school/graphes/monday_homework.py similarity index 100% rename from graphes/monday_homework.py rename to high-school/graphes/monday_homework.py diff --git a/graphes/why b/high-school/graphes/why similarity index 100% rename from graphes/why rename to high-school/graphes/why diff --git a/highlight.css b/high-school/highlight.css similarity index 100% rename from highlight.css rename to high-school/highlight.css diff --git a/magic_square/TDliste2liste/exercice1.py b/high-school/magic_square/TDliste2liste/exercice1.py similarity index 100% rename from magic_square/TDliste2liste/exercice1.py rename to high-school/magic_square/TDliste2liste/exercice1.py diff --git a/magic_square/TDliste2liste/exercice2.py b/high-school/magic_square/TDliste2liste/exercice2.py similarity index 100% rename from magic_square/TDliste2liste/exercice2.py rename to high-school/magic_square/TDliste2liste/exercice2.py diff --git a/magic_square/TDliste2liste/exercice3.py b/high-school/magic_square/TDliste2liste/exercice3.py similarity index 100% rename from magic_square/TDliste2liste/exercice3.py rename to high-school/magic_square/TDliste2liste/exercice3.py diff --git a/magic_square/TDliste2liste/exercice4.py b/high-school/magic_square/TDliste2liste/exercice4.py similarity index 100% rename from magic_square/TDliste2liste/exercice4.py rename to high-school/magic_square/TDliste2liste/exercice4.py diff --git a/magic_square/TDliste2liste/exercice5.py b/high-school/magic_square/TDliste2liste/exercice5.py similarity index 100% rename from magic_square/TDliste2liste/exercice5.py rename to high-school/magic_square/TDliste2liste/exercice5.py diff --git a/magic_square/TDliste2liste/exercice6.py b/high-school/magic_square/TDliste2liste/exercice6.py similarity index 100% rename from magic_square/TDliste2liste/exercice6.py rename to high-school/magic_square/TDliste2liste/exercice6.py diff --git a/magic_square/magic_square.py b/high-school/magic_square/magic_square.py similarity index 100% rename from magic_square/magic_square.py rename to high-school/magic_square/magic_square.py diff --git a/magic_square/td_carre_magique.py b/high-school/magic_square/td_carre_magique.py similarity index 100% rename from magic_square/td_carre_magique.py rename to high-school/magic_square/td_carre_magique.py diff --git a/partition_fusion/code.py b/high-school/partition_fusion/code.py similarity index 100% rename from partition_fusion/code.py rename to high-school/partition_fusion/code.py diff --git a/partition_fusion/code2.py b/high-school/partition_fusion/code2.py similarity index 100% rename from partition_fusion/code2.py rename to high-school/partition_fusion/code2.py diff --git a/partition_fusion/liste.py b/high-school/partition_fusion/liste.py similarity index 100% rename from partition_fusion/liste.py rename to high-school/partition_fusion/liste.py diff --git a/partition_fusion/partition_fusion.py b/high-school/partition_fusion/partition_fusion.py similarity index 100% rename from partition_fusion/partition_fusion.py rename to high-school/partition_fusion/partition_fusion.py diff --git a/perfect_number/main.py b/high-school/perfect_number/main.py similarity index 100% rename from perfect_number/main.py rename to high-school/perfect_number/main.py diff --git a/prblm.txt b/high-school/prblm.txt similarity index 100% rename from prblm.txt rename to high-school/prblm.txt diff --git a/preuve.md b/high-school/preuve.md similarity index 100% rename from preuve.md rename to high-school/preuve.md diff --git a/programmation_dynamique/bag/main.py b/high-school/programmation_dynamique/bag/main.py similarity index 100% rename from programmation_dynamique/bag/main.py rename to high-school/programmation_dynamique/bag/main.py diff --git a/programmation_dynamique/bellman/main.py b/high-school/programmation_dynamique/bellman/main.py similarity index 100% rename from programmation_dynamique/bellman/main.py rename to high-school/programmation_dynamique/bellman/main.py diff --git a/programmation_dynamique/monnaie/piece.py b/high-school/programmation_dynamique/monnaie/piece.py similarity index 100% rename from programmation_dynamique/monnaie/piece.py rename to high-school/programmation_dynamique/monnaie/piece.py diff --git a/programmation_dynamique/monnaie/piece1.py b/high-school/programmation_dynamique/monnaie/piece1.py similarity index 100% rename from programmation_dynamique/monnaie/piece1.py rename to high-school/programmation_dynamique/monnaie/piece1.py diff --git a/question_du_jour/05-05-2025/pro_dynamique.py b/high-school/question_du_jour/05-05-2025/pro_dynamique.py similarity index 100% rename from question_du_jour/05-05-2025/pro_dynamique.py rename to high-school/question_du_jour/05-05-2025/pro_dynamique.py diff --git a/question_du_jour/12-05-2025/main.py b/high-school/question_du_jour/12-05-2025/main.py similarity index 100% rename from question_du_jour/12-05-2025/main.py rename to high-school/question_du_jour/12-05-2025/main.py diff --git a/question_du_jour/19-05-2025/main.py b/high-school/question_du_jour/19-05-2025/main.py similarity index 100% rename from question_du_jour/19-05-2025/main.py rename to high-school/question_du_jour/19-05-2025/main.py diff --git a/readme_creator.txt b/high-school/readme_creator.txt similarity index 100% rename from readme_creator.txt rename to high-school/readme_creator.txt diff --git a/recherche/main.py b/high-school/recherche/main.py similarity index 100% rename from recherche/main.py rename to high-school/recherche/main.py diff --git a/recursivite/TD1.py b/high-school/recursivite/TD1.py similarity index 100% rename from recursivite/TD1.py rename to high-school/recursivite/TD1.py diff --git a/recursivite/exercice_MJoannic/dichotomie/iteratif/main.py b/high-school/recursivite/exercice_MJoannic/dichotomie/iteratif/main.py similarity index 100% rename from recursivite/exercice_MJoannic/dichotomie/iteratif/main.py rename to high-school/recursivite/exercice_MJoannic/dichotomie/iteratif/main.py diff --git a/recursivite/exercice_MJoannic/dichotomie/iteratif/sort_list.py b/high-school/recursivite/exercice_MJoannic/dichotomie/iteratif/sort_list.py similarity index 100% rename from recursivite/exercice_MJoannic/dichotomie/iteratif/sort_list.py rename to high-school/recursivite/exercice_MJoannic/dichotomie/iteratif/sort_list.py diff --git a/recursivite/exercice_MJoannic/dichotomie/iteratif/tester.py b/high-school/recursivite/exercice_MJoannic/dichotomie/iteratif/tester.py similarity index 100% rename from recursivite/exercice_MJoannic/dichotomie/iteratif/tester.py rename to high-school/recursivite/exercice_MJoannic/dichotomie/iteratif/tester.py diff --git a/recursivite/exercice_MJoannic/dichotomie/recursif/correction/V1.py b/high-school/recursivite/exercice_MJoannic/dichotomie/recursif/correction/V1.py similarity index 100% rename from recursivite/exercice_MJoannic/dichotomie/recursif/correction/V1.py rename to high-school/recursivite/exercice_MJoannic/dichotomie/recursif/correction/V1.py diff --git a/recursivite/exercice_MJoannic/dichotomie/recursif/myself/idx/main.py b/high-school/recursivite/exercice_MJoannic/dichotomie/recursif/myself/idx/main.py similarity index 100% rename from recursivite/exercice_MJoannic/dichotomie/recursif/myself/idx/main.py rename to high-school/recursivite/exercice_MJoannic/dichotomie/recursif/myself/idx/main.py diff --git a/recursivite/exercice_MJoannic/dichotomie/recursif/myself/idx/sort_list.py b/high-school/recursivite/exercice_MJoannic/dichotomie/recursif/myself/idx/sort_list.py similarity index 100% rename from recursivite/exercice_MJoannic/dichotomie/recursif/myself/idx/sort_list.py rename to high-school/recursivite/exercice_MJoannic/dichotomie/recursif/myself/idx/sort_list.py diff --git a/recursivite/exercice_MJoannic/dichotomie/recursif/myself/idx/tester.py b/high-school/recursivite/exercice_MJoannic/dichotomie/recursif/myself/idx/tester.py similarity index 100% rename from recursivite/exercice_MJoannic/dichotomie/recursif/myself/idx/tester.py rename to high-school/recursivite/exercice_MJoannic/dichotomie/recursif/myself/idx/tester.py diff --git a/recursivite/exercice_MJoannic/dichotomie/recursif/myself/main.py b/high-school/recursivite/exercice_MJoannic/dichotomie/recursif/myself/main.py similarity index 100% rename from recursivite/exercice_MJoannic/dichotomie/recursif/myself/main.py rename to high-school/recursivite/exercice_MJoannic/dichotomie/recursif/myself/main.py diff --git a/recursivite/exercice_MJoannic/dichotomie/recursif/myself/sort_list.py b/high-school/recursivite/exercice_MJoannic/dichotomie/recursif/myself/sort_list.py similarity index 100% rename from recursivite/exercice_MJoannic/dichotomie/recursif/myself/sort_list.py rename to high-school/recursivite/exercice_MJoannic/dichotomie/recursif/myself/sort_list.py diff --git a/recursivite/exercice_MJoannic/dichotomie/recursif/myself/tester.py b/high-school/recursivite/exercice_MJoannic/dichotomie/recursif/myself/tester.py similarity index 100% rename from recursivite/exercice_MJoannic/dichotomie/recursif/myself/tester.py rename to high-school/recursivite/exercice_MJoannic/dichotomie/recursif/myself/tester.py diff --git a/recursivite/exercice_MJoannic/palindrom.py b/high-school/recursivite/exercice_MJoannic/palindrom.py similarity index 100% rename from recursivite/exercice_MJoannic/palindrom.py rename to high-school/recursivite/exercice_MJoannic/palindrom.py diff --git a/recursivite/exercice_MJoannic/sqrt/correction/main.py b/high-school/recursivite/exercice_MJoannic/sqrt/correction/main.py similarity index 100% rename from recursivite/exercice_MJoannic/sqrt/correction/main.py rename to high-school/recursivite/exercice_MJoannic/sqrt/correction/main.py diff --git a/recursivite/exercice_MJoannic/sqrt/main.py b/high-school/recursivite/exercice_MJoannic/sqrt/main.py similarity index 100% rename from recursivite/exercice_MJoannic/sqrt/main.py rename to high-school/recursivite/exercice_MJoannic/sqrt/main.py diff --git a/sqlite/test b/high-school/sqlite/test similarity index 100% rename from sqlite/test rename to high-school/sqlite/test diff --git a/sqlite/test-journal b/high-school/sqlite/test-journal similarity index 100% rename from sqlite/test-journal rename to high-school/sqlite/test-journal diff --git a/trees/AB/arbre.py b/high-school/trees/AB/arbre.py similarity index 100% rename from trees/AB/arbre.py rename to high-school/trees/AB/arbre.py diff --git a/trees/ABR/main.py b/high-school/trees/ABR/main.py similarity index 100% rename from trees/ABR/main.py rename to high-school/trees/ABR/main.py diff --git a/trees/genealogie/TP_Arbres_Generalites.pdf?forcedownload=1 b/high-school/trees/genealogie/TP_Arbres_Generalites.pdf?forcedownload=1 similarity index 100% rename from trees/genealogie/TP_Arbres_Generalites.pdf?forcedownload=1 rename to high-school/trees/genealogie/TP_Arbres_Generalites.pdf?forcedownload=1 diff --git a/trees/genealogie/genealogie.csv b/high-school/trees/genealogie/genealogie.csv similarity index 100% rename from trees/genealogie/genealogie.csv rename to high-school/trees/genealogie/genealogie.csv diff --git a/trees/genealogie/genealogie.py b/high-school/trees/genealogie/genealogie.py similarity index 100% rename from trees/genealogie/genealogie.py rename to high-school/trees/genealogie/genealogie.py diff --git a/trees/qdj.py b/high-school/trees/qdj.py similarity index 100% rename from trees/qdj.py rename to high-school/trees/qdj.py diff --git a/university/4.2.2.py b/university/4.2.2.py new file mode 100644 index 0000000..ad14dfc --- /dev/null +++ b/university/4.2.2.py @@ -0,0 +1,62 @@ +import random as rng + + +def random_int(start: int, end: int) -> int: + return rng.randint(start, end) + + +start = 0 +end = 100 +number = random_int(start, end) + + +def is_number(guess) -> int: + if number == guess: + return 0 + elif number < guess: + return 1 + else: + return -1 + + +def dumb_ai(start: int, end: int) -> int: + tries = 0 + while True: + guess = rng.randint(start, end) + tries += 1 + if is_number(guess) == 0: + return tries + + +def guess_number(start: int, end: int) -> int: + tries = 0 + while True: + guess = (start + end) // 2 + + tries += 1 + hint = is_number(guess) + if hint == 0: + return tries + elif hint == -1: + start = guess + 1 + else: + end = guess - 1 + + +def main(start, end) -> int: + print(f"Number to guess: {number}") + return guess_number(start, end) + + +if __name__ == "__main__": + n = int(input("Number of games: ")) + tries_global = list() + for _ in range(n): + tries_smart = main(start, end) + tries_dumb = dumb_ai(start, end) + print(tries_dumb, tries_smart) + print("*" * tries_smart) + print("-" * tries_dumb) + tries_global.append(tries_smart) + + print(f"{sum(tries_global) / len(tries_global)}") diff --git a/university/4.2.3.py b/university/4.2.3.py new file mode 100644 index 0000000..c23aca1 --- /dev/null +++ b/university/4.2.3.py @@ -0,0 +1,76 @@ +import random +import matplotlib.pyplot as plt + +LOW, HIGH = 0, 100 +N_VALUES = HIGH - LOW + 1 +N_TRIALS = 1000 + + +def smart_ai(secret, low=LOW, high=HIGH): + c = 0 + lo, hi = low, high + while lo <= hi: + c += 1 + mid = (lo + hi) // 2 + if mid == secret: + return c + elif mid < secret: + lo = mid + 1 + else: + hi = mid - 1 + return c + + +def dumb_ai(secret, low=LOW, high=HIGH): + c = 0 + remaining = list(range(low, high + 1)) + while True: + c += 1 + g = random.choice(remaining) + if g == secret: + return c + remaining.remove(g) + + +def simulate(n_trials=N_TRIALS): + means_smart = [] + means_dumb = [] + for secret in range(LOW, HIGH + 1): + s_sum = 0 + d_sum = 0 + for _ in range(n_trials): + s_sum += smart_ai(secret) + d_sum += dumb_ai(secret) + means_smart.append(s_sum / n_trials) + means_dumb.append(d_sum / n_trials) + return means_smart, means_dumb + + +def print_text_hist(means_smart, means_dumb): + for i, (ms, md) in enumerate(zip(means_smart, means_dumb)): + print(f"[{i}] " + "*" * int(round(ms))) + print(f"[{i}] " + "-" * int(round(md))) + + +def plot_curves(means_smart, means_dumb): + x = list(range(LOW, HIGH + 1)) + plt.figure(figsize=(10, 5)) + plt.plot(x, means_smart, label="IA intelligente (dichotomie)") + plt.plot(x, means_dumb, label="IA aléatoire (sans remise)") + plt.xlabel("Nombre secret") + plt.ylabel("Nombre moyen d'essais") + plt.title( + f"Moyenne des essais pour chaque nombre secret ({N_TRIALS} parties/valeur)" + ) + plt.legend() + plt.grid(True) + plt.tight_layout() + plt.show() + + +if __name__ == "__main__": + means_smart, means_dumb = simulate() + print_text_hist(means_smart, means_dumb) + plot_curves(means_smart, means_dumb) + print(f"Moyenne globale IA intelligente ≈ {sum(means_smart) / N_VALUES:.2f}") + print(f"Moyenne globale IA aléatoire ≈ {sum(means_dumb) / N_VALUES:.2f}") diff --git a/university/4.2.py b/university/4.2.py new file mode 100644 index 0000000..3f9078f --- /dev/null +++ b/university/4.2.py @@ -0,0 +1,44 @@ +import random as rng + + +def create_number(start: int, end: int) -> int: + return rng.randint(start, end) + + +def main_part(start: int, end: int, max_tries: int) -> (bool, int): + number_to_guess = create_number(start, end) + guess = int(input("Entrez votre nombre: ")) + tries = 1 + while guess != number_to_guess and tries < max_tries: + if guess < number_to_guess: + print(f"{guess} est trop petit") + start = max(guess, start) + else: + print(f"{guess} est trop grand") + end = min(guess, end) + tries += 1 + guess = int(input(f"Entrez votre nombre [{start};{end}]: ")) + + if guess == number_to_guess: + print( + f"Félicitation vous avez correctement deviner le nombre {number_to_guess} au bout de {tries}" + ) + return True, tries + else: + print("Perdu") + return False + + +if __name__ == "__main__": + start = 0 + end = 100 + max_tries = 5 + again = True + played_game = 1 + game_won = 0 + stats = [] + while again: + game = main_part(start, end, max_tries) + game_won += 1 if game[0] else 0 + stats.append(game[1]) + again = "y" == input("Voulez vous recommencez ? (y/n)") diff --git a/university/fibibi.py b/university/fibibi.py new file mode 100644 index 0000000..c3a2b0a --- /dev/null +++ b/university/fibibi.py @@ -0,0 +1,48 @@ +def fibo(n: int, mem=None) -> int: + if mem is None: + mem = {} + if n <= 1: + return n + if n in mem: + return mem[n] + mem[n] = fibo(n - 1, mem) + fibo(n - 2, mem) + return mem[n] + + +memo = {1: [1]} + + +def syracuse(n): + if n in memo: + return memo[n] + if n % 2 == 0: + seq = [n] + syracuse(n // 2) + else: + seq = [n] + syracuse(3 * n + 1) + memo[n] = seq + return seq + + +if __name__ == "__main__": + import time + + n = int(input("n: ")) + start = time.time() + print(fibo(n)) + print(len(str((fibo(n))))) + end = time.time() + print(end - start) + + +def fibo_fast(n: int) -> int: + def _fd(k: int) -> tuple[int, int]: + if k == 0: + return (0, 1) + a, b = _fd(k // 2) + c = a * ((b << 1) - a) + d = a * a + b * b + if k & 1: + return (d, c + d) + return (c, d) + + return _fd(n)[0]