A python package for creating and taking quizzes.
Project description
dsci524_group13_quizit
| Usage | Development | Release |
|---|---|---|
A python package for creating and taking quizzes.
Summary
Project Summary
This Python package is designed to help users to create custom build quizzes. The package allows users to load multiple-choice and/or short-answer question sets. It will then randomly select a user-defined number of questions from the question sets and generate a quiz. Quiz scores and time used will be displayed at the end of the quiz. Optionally, users can also have their quiz scores and incorrect and correct questions in a text file.
Package Functions
The package consists of three classes:
Quizit—— The main class for creating and taking quizzes. This class has three methods:
-
load_questions—— Allows users to load in their own multiple-choice or short answer question setsload_questions(questions: pd.DataFrame = None, input_file: str = None, question_type: QuestionType = None, has_header: bool = True, delimiter: str = None)
-
take_multiple_choice—— Allows users to take a multiple-choice quiz with optional result tracking.take_multiple_choice(n, save_questions=False, save_score=False, file_path=False)
-
take_short_answer—— Allows users to take a short answer quiz with optional result tracking.take_short_answer(n, save_questions=False, save_score=False, file_path=False)
-
QuestionType—— This class is used inload_questionsto specify the type of quiz questions (multiple-choice or short-answer). -
QuizResult—— This class stores the quiz results returned by thetake_multiple_choiceandtake_short_answerfunctions. It includes the score, time used, question summary and question type of the quiz.
Python Ecosystem Integration
dsci524_group13_quizit is a fantastic tool for both educators and learners, providing a seamless way to create and take quizzes. Unlike other Python packages such as quizzer and QuizzingPackage, this package stands out by supporting both multiple-choice and short answer formats. Additionally, it offers the unique feature of saving quiz results to a text file, making it an invaluable resource for tracking progress and performance.
Whether you're teaching a class or studying for an exam, dsci524_group13_quizit is designed to make the quiz experience as smooth and effective as possible.
Installation
$ pip install dsci524_group13_quizit
Documentation
To learn more about interacting with this package visit the online documentation.
Usage
Below are outlined steps on how to interact with this package as a user. The tutorial assumes you are using Python and have already installed the package.
-
Import the package and necessary modules:
from dsci524_group13_quizit import Quizit, QuestionType
-
Load your question sets: ensure the file paths exist
mcq_file_path = "tests/test_data/multiple_choice.csv" shrtq_file_path = "tests/test_data/short_answer.csv" quiz = Quizit() mc_questions = quiz.load_questions(input_file=mcq_file_path, question_type=QuestionType.MULTIPLE_CHOICE, delimiter=";") shrt_questions = quiz.load_questions(input_file=shrtq_file_path, question_type=QuestionType.SHORT_ANSWER, delimiter=";")
-
Take a multiple-choice quiz:
quiz.take_multiple_choice(n=1)
-
Take a short-answer quiz:
quiz.take_short_answer(n=1)
These steps will guide you through the basic usage of the dsci524_group13_quizit package. For more detailed information, refer to the online documentation.
Contributors
Mavis Wong(@MavisWong295), Shangjia Yu(@shangjiayuu), Sopuruchi Chisom(@cs-uche)
Contributing
Interested in contributing? Check out the contributing guidelines. Please note that this project is released with a Code of Conduct. By contributing to this project, you agree to abide by its terms.
License
dsci524_group13_quizit was created by Mavis Wong, Shengjia Yu, Sopuruchi Chisom.
- The software code is licensed under the terms of the GNU General Public License v3.0.
- The analysis reports and documentation are licensed under the terms of the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0).
Credits
dsci524_group13_quizit was created with cookiecutter and the py-pkgs-cookiecutter template.
Changelog
All notable changes to this project will be documented in CHANGELOG.md.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dsci524_group13_quizit-1.1.3.tar.gz.
File metadata
- Download URL: dsci524_group13_quizit-1.1.3.tar.gz
- Upload date:
- Size: 24.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
32e5718da1f08de5d321255ce5d6ff39e5df20e750b09f8845928cfe97663bc8
|
|
| MD5 |
56948ac8163bacb57998eb93f236c1d9
|
|
| BLAKE2b-256 |
18c29683c4d9bf6afc6828c21084457f437376ded75a5d02e6bd4aa3320b8458
|
File details
Details for the file dsci524_group13_quizit-1.1.3-py3-none-any.whl.
File metadata
- Download URL: dsci524_group13_quizit-1.1.3-py3-none-any.whl
- Upload date:
- Size: 25.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c43c5b4a4c1c844f469aa6961dd9f35c2399bf14780dfe43186b2d3cde109eff
|
|
| MD5 |
5c29be8fefaa51621af55e8c5b5ae13f
|
|
| BLAKE2b-256 |
be32b301349472cff0151bab08a1d7eeee3d80ca2470d6ee8a8874ee6a457054
|