FAQ pour le Projet 1

  • Quel nombre de ligne maximum par fonction? 10 ou 15 lignes?

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.

  • 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.

  • J'ai des problèmes pour importer le module PYC fourni avec l'énoncé. Que dois-je faire?

Nous avons mis à disposition une version non compilée du module. Celui-ci est à importer de manière similaire que la version compilée:

  1. décompresser le fichier fourni “boggle_mod.tar.gz”,
  2. copier le fichier Boggle_mod.py dans le répertoire de votre projet,
  3. importer dans votre code avec import Boggle_mod (ceci remplace l'ancien import!)

Pour les étudiants ayant utilisé les modules compilés, il n'y a rien à faire. Les deux versions (compilée et non-compilée) fonctionnent de la même manière et contiennent les mêmes fonctions!

  • Puis-je utiliser plus d'un return dans une fonction?

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.

  • 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?
  1. 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

  1. 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.

  • L'énoncé du projet spécifie qu'un jeu est composé de 5 tours. A quoi alors sert la fonction ask_yes_no fournie?

Il s'agit d'une ambiguïté de l'énoncé. Concrètement, vous pouvez:

  1. demander à l'utilisateur s'il veut rejouer après les 5 tours, ou
  2. ne rien lui demander et quitter le programme après les 5 tours.

Nous acceptons les deux possibilités.

 
infoh100-projet1.txt · Last modified: 2013/12/05 06:22 by stefeppe