diff --git a/gloutons/EXERCICES.md b/gloutons/EXERCICES.md index c9a1d12..8deacdb 100644 --- a/gloutons/EXERCICES.md +++ b/gloutons/EXERCICES.md @@ -334,10 +334,10 @@ Plus profondément, au booster 1 l'algorithme **n'avait aucun moyen de savoir** 1. Dans l'exercice 4, on a maximisé le **nombre** de streams. Si on voulait maximiser la **rémunération totale**, l'algorithme glouton donnerait-il le même résultat ? 2. Parmi ces situations, lesquelles peuvent être résolues de manière optimale par un algorithme glouton ? - - Choisir les meilleurs joueurs pour une équipe FIFA (budget limité) - - Organiser l'ordre de visionnage de films sur Netflix (minimiser le temps total) - - Rendre la monnaie avec des pièces européennes - - Trouver le chemin le plus court dans Google Maps + - Choisir les meilleurs joueurs pour une équipe FIFA (budget limité) + - Organiser l'ordre de visionnage de films sur Netflix (minimiser le temps total) + - Rendre la monnaie avec des pièces européennes + - Trouver le chemin le plus court dans Google Maps
Voir la correction diff --git a/knn/TP_KNN.md b/knn/TP_KNN.md index 625941f..4708bb2 100644 --- a/knn/TP_KNN.md +++ b/knn/TP_KNN.md @@ -144,17 +144,17 @@ Résultat: un dictionnaire dont les clés sont les maisons et les valeurs, le no 1. Écrire et compléter en pseudo code l'algorithme qui suit : - Données: + Données: - - table: une liste d'élèves; - - nouveau: un nouvel élève qui n'a pas encore de maison. - - Résultat : les 7 plus proches voisins du nouveau. + - table: une liste d'élèves; + - nouveau: un nouvel élève qui n'a pas encore de maison. + - Résultat : les 7 plus proches voisins du nouveau. - Algorithme : + Algorithme : - - à compléter - - à compléter - - à compléter + - à compléter + - à compléter + - à compléter 2. Implémenter cet algorithme en Python diff --git a/representation_construits/chapitre_1/tp/ANAGRAMMES.md b/representation_construits/chapitre_1/tp/ANAGRAMMES.md index 9f045c6..0b1cbff 100644 --- a/representation_construits/chapitre_1/tp/ANAGRAMMES.md +++ b/representation_construits/chapitre_1/tp/ANAGRAMMES.md @@ -3,32 +3,32 @@ ### Méthode `split` sur les chaînes de caractères 1. Supposons que la variable ``s`` a pour valeur la chaîne ``"la méthode split est parfois bien utile"``. Quelles sont les réponses - fournies par Python pour les expressions suivantes ? + fournies par Python pour les expressions suivantes ? - * ``s.split(' ')`` - * ``s.split('e')`` - * ``s.split('é')`` - * ``s.split()`` - * ``s.split('')`` - * ``s.split('split')`` + * ``s.split(' ')`` + * ``s.split('e')`` + * ``s.split('é')`` + * ``s.split()`` + * ``s.split('')`` + * ``s.split('split')`` 2. Déduisez-en une description précise de ce que fait la méthode ``split``. ### Méthode `join` sur les chaînes de caractères 3. Supposons que la variable ``l`` est définie par ``l = s.split()`` où ``s`` est la chaîne ``"la méthode split est parfois bien utile"``. Quelles sont les réponses - fournies par Python pour les expressions suivantes ? + fournies par Python pour les expressions suivantes ? - * ``"".join(l)`` - * ``" ".join(l)`` - * ``";".join(l)`` - * ``" tralala ".join(l)`` - * ``print ("\n".join(l))`` - * ``"".join(s)`` - * ``"!".join(s)`` - * ``"".join()`` - * ``"".join([])`` - * ``"".join([1,2])`` + * ``"".join(l)`` + * ``" ".join(l)`` + * ``";".join(l)`` + * ``" tralala ".join(l)`` + * ``print ("\n".join(l))`` + * ``"".join(s)`` + * ``"!".join(s)`` + * ``"".join()`` + * ``"".join([])`` + * ``"".join([1,2])`` 4. Déduisez-en une description précise de ce que fait la méthode ``join``. @@ -51,10 +51,10 @@ On voit sur cet exemple que la liste ``l`` a été modifiée après application les nombres sont maintenant rangés dans l'ordre numérique croissant. 5. Appliquez cette méthode sur la liste ``l = list('timoleon')``. Qu'est devenue la liste ``l`` ? - Même chose avec ``l = list(s)`` où ``s = "Je n'ai jamais joué de flûte."``. + Même chose avec ``l = list(s)`` où ``s = "Je n'ai jamais joué de flûte."``. - À votre avis, si ``l = list(s)`` avec ``s`` une chaîne de caractères quelconque, quel est l'ordre - dans lequel les caractères de ``l`` sont rangés après application de la méthode ``sort`` ? + À votre avis, si ``l = list(s)`` avec ``s`` une chaîne de caractères quelconque, quel est l'ordre + dans lequel les caractères de ``l`` sont rangés après application de la méthode ``sort`` ? 6. Appliquez cette méthode sur la liste ``l = ['a', 1]``. Expliquez la réponse. @@ -63,19 +63,19 @@ les nombres sont maintenant rangés dans l'ordre numérique croissant. Il n'y a pas de méthode ``sort`` pour les chaînes de caractères. 7. Programmez une fonction nommée ``sort`` qui renvoie une chaîne de caractères contenant tous - les caractères de la chaîne passée en paramètre triés dans l'ordre lexicographique. + les caractères de la chaîne passée en paramètre triés dans l'ordre lexicographique. - ```python - >>> sort('capes nsi') - ' aceinpss' - >>> sort('') - '' - ``` + ```python + >>> sort('capes nsi') + ' aceinpss' + >>> sort('') + '' + ``` - Pour cela, vous pourrez utiliser avec profit la fonction de conversion ``list``, - la méthode ``sort`` des listes et la méthode ``join`` des chaînes. + Pour cela, vous pourrez utiliser avec profit la fonction de conversion ``list``, + la méthode ``sort`` des listes et la méthode ``join`` des chaînes. - ------------- + ------------- ### Anagrammes Selon le dictionnaire « Le Petit Robert », le mot anagramme a pour définition : mot obtenu par transposition des lettres d’un autre mot. diff --git a/representation_construits/chapitre_1/tp/README.md b/representation_construits/chapitre_1/tp/README.md index 0c00e83..ca6c75e 100644 --- a/representation_construits/chapitre_1/tp/README.md +++ b/representation_construits/chapitre_1/tp/README.md @@ -14,46 +14,46 @@ Il faudra créer une fonction python Mastermind.py qui va permettre de respecter 1. **Initialisation du jeu** - - Générez une combinaison secrète de 4 couleurs choisies parmi les couleurs suivantes : Rouge (R), Bleu (B), Vert (V), Jaune (J), Orange (O) et Rose (P). Utilisez une liste pour stocker cette combinaison secrète. + - Générez une combinaison secrète de 4 couleurs choisies parmi les couleurs suivantes : Rouge (R), Bleu (B), Vert (V), Jaune (J), Orange (O) et Rose (P). Utilisez une liste pour stocker cette combinaison secrète. 2. **Interaction entre élèves** - - Demandez à votre camarade de TP de deviner la combinaison secrète en entrant une liste de 4 lettres représentant les couleurs (par exemple, 'R', 'B', 'V', 'J'). Assurez-vous que les lettres sont toutes en majuscules. - - Le joueur dispose de 10 tentatives pour trouver la combinaison secrète. + - Demandez à votre camarade de TP de deviner la combinaison secrète en entrant une liste de 4 lettres représentant les couleurs (par exemple, 'R', 'B', 'V', 'J'). Assurez-vous que les lettres sont toutes en majuscules. + - Le joueur dispose de 10 tentatives pour trouver la combinaison secrète. 3. **Vérification de la proposition** - - Comparez la proposition du joueur avec la combinaison secrète et fournissez des indices pour indiquer si les couleurs sont correctes et bien placées (`X`) ou si les couleurs sont correctes mais mal placées (`O`). - - Utilisez une deuxième liste pour stocker ces indices. - - Par exemple, si la combinaison secrète est ['R', 'B', 'V', 'J'] et la proposition du joueur est ['B', 'V', 'R', 'J'], les indices seront ['O', 'O', 'O', 'X']. + - Comparez la proposition du joueur avec la combinaison secrète et fournissez des indices pour indiquer si les couleurs sont correctes et bien placées (`X`) ou si les couleurs sont correctes mais mal placées (`O`). + - Utilisez une deuxième liste pour stocker ces indices. + - Par exemple, si la combinaison secrète est ['R', 'B', 'V', 'J'] et la proposition du joueur est ['B', 'V', 'R', 'J'], les indices seront ['O', 'O', 'O', 'X']. 4. **Affichage des indices** - - Affichez les indices pour aider le joueur à ajuster sa prochaine proposition. Par exemple, "O O X X" pour les indices de l'exemple précédent. + - Affichez les indices pour aider le joueur à ajuster sa prochaine proposition. Par exemple, "O O X X" pour les indices de l'exemple précédent. 5. **Répétez les étapes 2 à 4** - - Demandez au joueur de faire une autre proposition en répétant les étapes de vérification et d'affichage des indices jusqu'à ce que le joueur trouve la combinaison secrète ou épuise toutes les tentatives. + - Demandez au joueur de faire une autre proposition en répétant les étapes de vérification et d'affichage des indices jusqu'à ce que le joueur trouve la combinaison secrète ou épuise toutes les tentatives. 6. **Fin du jeu** - - Si le joueur a trouvé la combinaison secrète, affichez un message de félicitations. Sinon, affichez un message indiquant que le joueur a échoué à trouver la combinaison secrète. + - Si le joueur a trouvé la combinaison secrète, affichez un message de félicitations. Sinon, affichez un message indiquant que le joueur a échoué à trouver la combinaison secrète. - ```python - def mastermind(combinaison, proposition): - """ - Compare la proposition du joueur avec la combinaison secrète et renvoie les indices correspondants. - :param combinaison : liste contenant la combinaison secrète - :param proposition : liste contenant la proposition de l'adversaire - :return indices : liste contenant les indices pour la proposition du joueur + ```python + def mastermind(combinaison, proposition): + """ + Compare la proposition du joueur avec la combinaison secrète et renvoie les indices correspondants. + :param combinaison : liste contenant la combinaison secrète + :param proposition : liste contenant la proposition de l'adversaire + :return indices : liste contenant les indices pour la proposition du joueur - """ - pass - ``` + """ + pass + ```