├── LICENSE ├── README.md └── task 1.py /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Deepak L 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Student Grade Tracker 2 | 3 | ## Overview 4 | The Student Grade Tracker is a Python-based application designed to simplify the process of managing and tracking student grades. This tool enables educators to efficiently record, analyze, and report student performance across various subjects. 5 | 6 | ## Features 7 | - **Automated Grade Tracking**: Streamlines the process of tracking student grades and reduces manual errors. 8 | - **Performance Monitoring**: Allows educators to monitor and analyze student performance over time. 9 | - **Customizable Reports**: Generates reports to communicate student progress to parents and stakeholders. 10 | - **Data Security**: Ensures secure storage of student data, accessible only to authorized users. 11 | - **User-Friendly Interface**: Intuitive interface for educators with minimal technical skills. 12 | 13 | ## Technology Stack 14 | - Python 15 | 16 | ## Installation 17 | 1. Clone the repository: 18 | ```bash 19 | git clone https://github.com/Deepak-L-coder/ViLearnx-Task-1.git 20 | ``` 21 | 2. Navigate to the project directory: 22 | ```bash 23 | cd ViLearnx-Task-1 24 | ``` 25 | 3. Install the required dependencies: 26 | ```bash 27 | pip install -r requirements.txt 28 | ``` 29 | 30 | ## Usage 31 | To run the application, execute the following command: 32 | ```bash 33 | python main.py 34 | ``` 35 | 36 | ## Screenshots : 37 | 38 | ![Screenshot 2024-08-10 121742](https://github.com/user-attachments/assets/e6b7dcf0-00ae-4e2d-baf8-5273bcb6b45d) 39 | ![Screenshot 2024-08-10 121809](https://github.com/user-attachments/assets/fe8c189d-f0e1-49a3-9e04-7ef9cec0965a) 40 | ![Screenshot 2024-08-10 121827](https://github.com/user-attachments/assets/796bc787-d521-40c8-907a-7c0352e16075) 41 | 42 | 43 | ## Demo 44 | 45 | https://github.com/user-attachments/assets/61216516-4ff0-4445-a97d-ae8f7e6ce4ca 46 | -------------------------------------------------------------------------------- /task 1.py: -------------------------------------------------------------------------------- 1 | # Dictionary to store subjects and grades 2 | grades ={} 3 | 4 | def input_grades(): 5 | num_subjects =int(input("Enter the number of subjects:")) 6 | 7 | for i in range(num_subjects): 8 | subject =input(f"Enter the name of subjects {i+1}:") 9 | grade =float(input(f"Enter the grade for {subject}:")) 10 | grades[subject] = grade 11 | 12 | def calculate_average(): 13 | total =sum(grades.values()) 14 | average =total/len(grades) 15 | return average 16 | 17 | def get_letter_grade(average): 18 | if average >= 90: 19 | return "A" 20 | elif average >= 80: 21 | return "B" 22 | elif average >= 70: 23 | return "C" 24 | elif average >= 60: 25 | return "D" 26 | else: 27 | return "F" 28 | 29 | def get_gpa(letter_grade): 30 | gpa_scale = { 31 | "A":4.0, 32 | "B":3.0, 33 | "C":2.0, 34 | "D":1.0, 35 | "F":0.0 36 | } 37 | return gpa_scale[letter_grade] 38 | 39 | def display_results(): 40 | average =calculate_average() 41 | letter_grade =get_letter_grade(average) 42 | gpa =get_gpa(letter_grade) 43 | 44 | print("\nResults:") 45 | print(f"Average Grade:{average:.2f}") 46 | print(f"Letter Grade:{letter_grade}") 47 | print(f"GPA: {gpa:.2f}") 48 | 49 | def main(): 50 | input_grades() 51 | display_results() 52 | 53 | if __name__ == "__main__": 54 | main() 55 | --------------------------------------------------------------------------------