This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
infoh100-projet1 [2013/11/25 20:56] stefeppe |
infoh100-projet1 [2013/11/30 09:19] stefeppe |
||
---|---|---|---|
Line 6: | Line 6: | ||
Toutefois, pour tempérer le ton péremptoire de l'énoncé, nous vous suggérons de prendre l'éventuel dépassement de cette limite comme un signal qui devrait vous inciter à vous arrêter et à reconsidérer la manière dont vous avez construit votre fonction: fait-elle bien une seule chose bien définie? ne serait-il pas mieux (plus clair) de créer/appeler l'une ou l'autre fonction? Dans des cas particuliers et justifiés, un léger dépassement de cette limite peut être acceptable, voire nécessaire. | Toutefois, pour tempérer le ton péremptoire de l'énoncé, nous vous suggérons de prendre l'éventuel dépassement de cette limite comme un signal qui devrait vous inciter à vous arrêter et à reconsidérer la manière dont vous avez construit votre fonction: fait-elle bien une seule chose bien définie? ne serait-il pas mieux (plus clair) de créer/appeler l'une ou l'autre fonction? Dans des cas particuliers et justifiés, un léger dépassement de cette limite peut être acceptable, voire nécessaire. | ||
- | * **//Dois-je rédiger les commentaires (//docstrings//) en anglais?//** | + | * **//Dois-je rédiger les commentaires (//''docstrings''//) en anglais?//** \\ |
Si l'anglais est l'option préférée, nous ne sanctionnerons pas les commentaires en français. Mieux vaut un commentaire en français clair, qu'une description anglaise incompréhensible. | Si l'anglais est l'option préférée, nous ne sanctionnerons pas les commentaires en français. Mieux vaut un commentaire en français clair, qu'une description anglaise incompréhensible. | ||
- | * **//Puis-je utiliser la librairie //random// (et/ou d'autres)?//** | + | * **//Puis-je utiliser plus d'un //''return''// dans une fonction?//** \\ |
- | La librairie random ayant été vue lors des travaux pratiques, l'utilisation de //toutes// les fonctions qui la composent est permise. Il en va de même pour l'ensemble des méthodes liées aux strings, listes et tuples. | + | Non: un seul ''return'' par fonction. Il s'agit là d'une convention adoptée dans ce cours. Cela ne devrait d'ailleurs pas avoir de répercutions dramatiques sur votre code. |
- | * **//Que font les fonctions fournies "//word_in_place//" et "//word_on_board//"?//** | + | * **//Puis-je utiliser la librairie //''random''// (et/ou d'autres)?//** \\ |
+ | La librairie random ayant été vue lors des travaux pratiques, l'utilisation de //toutes// les fonctions qui la composent est permise. Il en va de même pour l'ensemble des méthodes liées aux types ''str'', ''list'' et ''tuple''. | ||
+ | * **//Que font les fonctions fournies //''word_in_place''// et //''word_on_board''//?//** | ||
+ | - "**''word_on_board''**"\\ | ||
+ | Cette fonction renvoie ''True'' si le mot est présent dans la grille EN RESPECTANT LES RÈGLES DU BOGGLE. Donc dans la grille ci dessous :\\ | ||
+ | ''A B S E\\ | ||
+ | A L U H\\ | ||
+ | **M** **E** Y T\\ | ||
+ | N **R** B J''\\ | ||
+ | la fonction renvoie ''True'' pour "''MER''" mais pas pour "''SALUT''" | ||
+ | |||
+ | ''word_on_board("MER", board) == True'' | ||
+ | ''word_on_board("SALUT", board) == False'' | ||
+ | |||
+ | - "**''word_in_place''**"\\ | ||
+ | Elle fait la même chose uniquement si le mot commence dans la case donnée en paramètre (attention les indices commencent à 0 donc la case en haut à gauche est la case 0,0) | ||
+ | Dans l'exemple ci dessus :\\ | ||
+ | ''word_in_place("MER", board, 0, 1) == False''\\ | ||
+ | ''word_in_place("MER", board, 2, 0) == True''\\ | ||
+ | ''word_in_place("MER", board, 3, 1) == False'' | ||
+ | |||
+ | Il est évident que ''word_on_board'' appellera ''word_in_place'' (de la même manière que ''play_boggle'' appelera ''play_one_round''). | ||
+ | Ce découpage imposé est là pour vous aider. | ||
+ | |||
+ | * **//Faut-il placer aléatoirement les dés sur le tableau?//** \\ | ||
+ | En d'autres termes, les dés du tableau doivent-ils, en plus d'afficher une face aléatoire, être placés également aléatoirement sur le tableau? La réponse est: oui. Le premier dé renvoyé par ''get_dices()'' ne doit donc pas se retrouver systématiquement sur la première case du tableau; cette position (ainsi que celle des autres dés) doit changer aléatoirement d'une partie à l'autre. |