N.S.I. WorkSpace Première,Projet-P Mini-Projet : QUIZZ

Mini-Projet : QUIZZ

Categories:

Présentation du projet

Il s’agit de concevoir la programmation en Python d’un Quizz.

Le quizz comportera 10 questions d’un niveau varié de difficulté (de 1 à 4), pour un binôme, 15 questions pour un trinôme.

Pour chaque question il sera proposé quatre réponses possibles.
Une seule de ces quatre réponses sera correcte.

Pour chaque réponse correcte un nombre de points – de 1 à 4 – sera attribué selon le niveau de difficulté de la question posée.

Toutes les questions porteront sur un même thème. Ce thème est laissé à votre choix.

Organisation du travail

Ce travail est à faire en binôme, ou en trinôme.

Chaque binôme dispose de 3 fois 2 heures : le vendredi 10 , le mercredi 15 et vendredi 17 mars.

Déroulement

Étape 1 – Réaliser une table dans un logiciel tableur
(Libre Office Calc, MS Excel).

Cette table comportera les colonnes suivantes :

numéro de la question (entier de 1 à 10) ;
libellé (formulation) de la question posée ;
Proposition de réponse A ;
Proposition de réponse B ;
Proposition de réponse C ;
Proposition de réponse D ;
Lettre correspondant à la réponse correcte (attendue) ;
Nombre de points attribués en cas de réponse correcte (de 1 à 4) selon le niveau de difficulté de la question posée.

Cette table comportera 11 lignes :

la première ligne correspondra aux libellés des colonnes ;
les 10 lignes suivantes contiendra les informations (données) pour chacune des question du quizz.
Modèle

Étape 2 – Sauvegarder la table sous la forme d’un fichier csv.

Le caractère de séparation des données est laissé à votre choix.

Les données seront encodées en UTF-8.

Le nom du fichier csv sera ‘quizz.csv’.

Aide

Export au format csv avec Libre Office calc
Export au format csv avec © MS Excel

Étape 3 – Programmation du quizz en Python

Réunir dans un même dossier (répertoire) dont le nom sera ‘projet_quizz’ :

le fichier ‘quizz.csv’ ;
un fichier contenant le programme écrit en python et sauvegardé sous le nom ‘quizz.py’.
Dans le programme en Python :

Écrire les instructions qui permettent de construire :

un tuple contenant les libellés des attributs de la table soit les données contenues dans la première ligne du fichier ‘quizz.csv’ ;
une table sous la forme d’une liste de tuples, table qui contiendra 10 enregistrements, soit les 10 lignes qui restent dans le fichier ‘quizz.csv’ qui correspondent aux 10 questions du quizz.
Écrire les instructions qui permettent de recueillir le nom et le prénom de la personne qui va passer le quizz.

Pour chacun des 10 questions du quizz, écrire les instructions qui permettent :

d’afficher dans la console  :
le numéro de la question  ;
son niveau de difficulté (donc le nombre de points en jeu) ;
son libellé (formulation) ;
les quatre propositions de réponses
de demander au joueur de choisir une réponse ;
de comparer la réponse donnée avec la réponse attendue (correcte)
d’afficher un résultat :
message d’erreur et réponse correcte si la réponse donnée n’est pas la « bonne » ;
message de félicitations et le nombre de points marqués (gagnés) si la réponse donnée est la « bonne » ;
de calculer au fil des questions le total des points obtenus par le joueur par rapport au nombre maximal de points en jeu ;
d’afficher le score final à la fin du quizz.
Remarques importantes

le niveau de programmation attendu en Python est celui de Première ;
ne pas chercher à copier/coller un code trouvé sur le web ; 
Chaque élève du groupe doit écrire une partie du code du projet : des commentaires seront insérés dans le code pour indiquer qui est l’auteur du code (Ex : # cette partie du code a été écrite par NOM Prénom) ;
chaque membre du binôme doit être en capacité d’expliquer la totalité du code.
Bonus

Si un binôme termine la réalisation du projet et qu’il lui reste du temps, il peut essayer d’apporter des options supplémentaires à son projet comme par exemple :

ajouter des questions au quizz ;
si le quizz comporte plus de 20 questions, faire un tirage au hasard de 10 questions ;
poser les questions dans un ordre aléatoire ;
mélanger l’ordre dans lequel s’affiche les propositions de réponse ;
concevoir un autre ou plusieurs autres fichiers ‘csv’ contenant chacun un quizz et proposer au joueur d’en choisir un ;
etc…

Rendu du projet

Chaque binôme doit rendre son dossier ‘projet_quizz’ avec les deux fichiers ‘quizz.csv’ et ‘quizz.py’.

Ce dossier sera compressé sous la forme d’un fichier archive ‘projet_quizz.zip’ avant d’être déposé dans Ecole Directe (voir cahier de texte rubrique travail à rendre pour le 17 mars.

Comment compresser un dossier en fichier archive zip ?

Chaque élève du binôme se prépare à répondre oralement à deux questions qui porteront sur le code écrit en Python.

Article sous licence << Cliquez pour plus d’informations <<