PTSI G.Eiffel 2014/2015 Informatique : devoir à la maison no1pour le lundi 01/12 /2014
Ce DM est à chercher sur ordinateur. Vous enverrez vos fichiers à mon adresse avant le
lundi 1er décembre. Attention : utilisez Python 3 (et non pas Python 2) ! !
Pour toutes vos créations, pensez à commenter le code, afin de faciliter sa lecture.
Exercice 1 : On considère la suite définie par récurrence avec : ½u0=1
un+1=p1+un,∀n≥0
1. Créer une fonction qui prenne en argument un nombre entier et qui renvoie la liste
des premiers termes de la suite (de u0àuninclus).
2. Créer une fonction qui renvoie la valeur de la somme des termes n
P
k=0uk.
Exercice 2 : Un jeu de Mastermind
Nous allons programmer une variante du célèbre jeu de logique : il s’agira ici de deviner une combinaison de 4
chiffres tirée au sort en début de partie (par exemple ).
Le joueur proposera à chaque tour une liste de 4 chiffres, et selon sa réponse, le programme donnera le nombre
de chiffres qui sont exactement à la bonne place, et le nombre de ceux qui apparaissent dans la combinaison à
deviner mais qui ne sont situés au bon endroit.
Par exemple, avec le tirage présenté au début, si le joueur propose , le programme devra afficher qu’un
chiffre est en bonne position, et que deux autres sont mal placées.
Le joueur pourra alors ajuster sa proposition précédente. On répètera ce processus jusqu’à ce que le joueur
trouve la bonne combinaison. Le programme s’arrêtera alors, après affichage d’un message de félicitations.
1. Écrivez une fonction qui ne prenne aucun argument, et qui renvoie une liste consti-
tuée de 4 valeurs entières comprises entre 0 et 9. On utilisera la commande du module
.
2. Écrivez une fonction qui ne prenne aucun argument, et qui renvoie une liste
constituée de 4 valeurs entières comprises entre 0 et 9 saisies au clavier par le joueur. (pas la peine de
tester leur validité)
3. Écrivez une fonction qui prenne deux listes de chiffres et (de même longueur quel-
conque n>0) en argument, et qui renvoie le nombre d’éléments des listes et qui sont exactement à la
même position.
Par exemple doit donner .
4. Écrivez une fonction qui prenne deux listes de chiffres et (de même longueur
quelconque n>0) en argument, et le nombre d’éléments des listes et qui sont communs, mais non
placés au même endroit.
Par exemple doit donner .
5. Après avoir testé la validité de chacune des fonctions précédentes, vous pouvez écrire le programme prin-
cipal, qui suivra le cahier des charges donné en préambule.
Informatique : devoir à la maison no1