Listes : sous-points indentés à 4 espaces pour s'afficher sous leur question
This commit is contained in:
@@ -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 ?
|
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 ?
|
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é)
|
- Choisir les meilleurs joueurs pour une équipe FIFA (budget limité)
|
||||||
- Organiser l'ordre de visionnage de films sur Netflix (minimiser le temps total)
|
- Organiser l'ordre de visionnage de films sur Netflix (minimiser le temps total)
|
||||||
- Rendre la monnaie avec des pièces européennes
|
- Rendre la monnaie avec des pièces européennes
|
||||||
- Trouver le chemin le plus court dans Google Maps
|
- Trouver le chemin le plus court dans Google Maps
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary><strong>Voir la correction</strong></summary>
|
<summary><strong>Voir la correction</strong></summary>
|
||||||
|
|||||||
+8
-8
@@ -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 :
|
1. Écrire et compléter en pseudo code l'algorithme qui suit :
|
||||||
|
|
||||||
Données:
|
Données:
|
||||||
|
|
||||||
- table: une liste d'élèves;
|
- table: une liste d'élèves;
|
||||||
- nouveau: un nouvel élève qui n'a pas encore de maison.
|
- nouveau: un nouvel élève qui n'a pas encore de maison.
|
||||||
- Résultat : les 7 plus proches voisins du nouveau.
|
- 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
|
2. Implémenter cet algorithme en Python
|
||||||
|
|
||||||
|
|||||||
@@ -3,32 +3,32 @@
|
|||||||
### Méthode `split` sur les chaînes de caractères
|
### 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
|
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(' ')``
|
||||||
* ``s.split('e')``
|
* ``s.split('e')``
|
||||||
* ``s.split('é')``
|
* ``s.split('é')``
|
||||||
* ``s.split()``
|
* ``s.split()``
|
||||||
* ``s.split('')``
|
* ``s.split('')``
|
||||||
* ``s.split('split')``
|
* ``s.split('split')``
|
||||||
|
|
||||||
2. Déduisez-en une description précise de ce que fait la méthode ``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
|
### 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
|
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)``
|
* ``" ".join(l)``
|
||||||
* ``";".join(l)``
|
* ``";".join(l)``
|
||||||
* ``" tralala ".join(l)``
|
* ``" tralala ".join(l)``
|
||||||
* ``print ("\n".join(l))``
|
* ``print ("\n".join(l))``
|
||||||
* ``"".join(s)``
|
* ``"".join(s)``
|
||||||
* ``"!".join(s)``
|
* ``"!".join(s)``
|
||||||
* ``"".join()``
|
* ``"".join()``
|
||||||
* ``"".join([])``
|
* ``"".join([])``
|
||||||
* ``"".join([1,2])``
|
* ``"".join([1,2])``
|
||||||
|
|
||||||
4. Déduisez-en une description précise de ce que fait la méthode ``join``.
|
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.
|
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`` ?
|
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
|
À 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`` ?
|
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.
|
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.
|
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
|
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
|
```python
|
||||||
>>> sort('capes nsi')
|
>>> sort('capes nsi')
|
||||||
' aceinpss'
|
' aceinpss'
|
||||||
>>> sort('')
|
>>> sort('')
|
||||||
''
|
''
|
||||||
```
|
```
|
||||||
|
|
||||||
Pour cela, vous pourrez utiliser avec profit la fonction de conversion ``list``,
|
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.
|
la méthode ``sort`` des listes et la méthode ``join`` des chaînes.
|
||||||
|
|
||||||
-------------
|
-------------
|
||||||
### Anagrammes
|
### Anagrammes
|
||||||
|
|
||||||
Selon le dictionnaire « Le Petit Robert », le mot anagramme a pour définition : mot obtenu par transposition des lettres d’un autre mot.
|
Selon le dictionnaire « Le Petit Robert », le mot anagramme a pour définition : mot obtenu par transposition des lettres d’un autre mot.
|
||||||
|
|||||||
@@ -14,46 +14,46 @@ Il faudra créer une fonction python Mastermind.py qui va permettre de respecter
|
|||||||
|
|
||||||
1. **Initialisation du jeu**
|
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**
|
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.
|
- 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.
|
- Le joueur dispose de 10 tentatives pour trouver la combinaison secrète.
|
||||||
|
|
||||||
3. **Vérification de la proposition**
|
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`).
|
- 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.
|
- 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'].
|
- 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**
|
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**
|
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**
|
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
|
```python
|
||||||
def mastermind(combinaison, proposition):
|
def mastermind(combinaison, proposition):
|
||||||
"""
|
"""
|
||||||
Compare la proposition du joueur avec la combinaison secrète et renvoie les indices correspondants.
|
Compare la proposition du joueur avec la combinaison secrète et renvoie les indices correspondants.
|
||||||
:param combinaison : liste contenant la combinaison secrète
|
:param combinaison : liste contenant la combinaison secrète
|
||||||
:param proposition : liste contenant la proposition de l'adversaire
|
:param proposition : liste contenant la proposition de l'adversaire
|
||||||
:return indices : liste contenant les indices pour la proposition du joueur
|
:return indices : liste contenant les indices pour la proposition du joueur
|
||||||
|
|
||||||
"""
|
"""
|
||||||
pass
|
pass
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user