This is an old revision of the document!
Il y a deux informations divergentes quant au nombre maximum de lignes que peut contenir une fonction. Alors que 15 lignes, comme c'est précisé dans les règles de bonnes pratiques, est une limite communément admise, il nous a semblé qu'elle pouvait être ramenée à 10 lignes dans le cadre de ce projet (ainsi que précisé dans l'énoncé).
Veuillez noter que ce nombre concerne uniquement le nombre d'instructions; les commentaires (docstrings) ne sont donc pas comptés. En outre, les prints multiples peuvent être comptés comme une seule ligne.
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.
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.
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
.
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.