A Python tool for processing team quiz scores and generating adjusted grade reports.
- Process quiz scores from Excel files
- Calculate raw and adjusted scores for team quizzes
- Score editing capabilities:
- Edit individual question scores
- Select teams using numbered list
- Track all score changes
- View change history with difference indicators
- Generate detailed Excel reports with:
- Team scores (raw and adjusted)
- Individual student information
- Question-by-question breakdown
- Rule of three based score adjustment
- User-friendly command line interface with:
- Input validation
- Confirmation steps
- Exit options at any stage
- Change tracking
- Create a virtual environment:
python -m venv venv- Activate the virtual environment:
- Windows:
.\venv\Scripts\activate- Unix/MacOS:
source venv/bin/activate- Install dependencies:
pip install -r requirements.txt- Place input Excel file in the
inputdatafolder - Run the script:
python main.py- Follow the prompts to enter:
- Quiz name
- Raw score per question
- Total points for the quiz
- Review and confirm your inputs
- Enter score editing mode (optional):
- Select teams by number
- Edit question scores
- View change history
- Confirm or discard changes
- Find the output Excel file in the
outputdatafolder
The input Excel file should have a "Team Analysis" sheet with the following columns:
- Team: Team name
- Student Name: Student's full name
- Student ID: Student's identification number
- Email Address: Student's email
- Question scores: Columns named as "1_Score", "2_Score", etc.
The generated Excel file includes:
- Team information (shown once per team)
- Student details (for each student)
- Raw and adjusted scores for each question
- Total scores (both raw and adjusted)
- Select teams from a numbered list
- Edit individual question scores
- View running history of all changes
- See score differences with +/- indicators
- Confirm or discard changes before processing
- Validates all numeric inputs
- Ensures scores are within valid ranges
- Validates question numbers
- Confirms team existence
- Exit without processing at initial input
- Exit during score editing
- Confirmation steps to prevent accidental exits
- Change summary shown before exit