A Python-based CLI application that allows users to input multiple subjects along with their marks, evaluate each subject based on customizable passing criteria, and generate a detailed result summary including pass/fail status, average, total, percentage, and grade.
- π Input custom number of subjects, each with:
- Subject name
- Maximum marks
- Minimum passing marks
- Marks obtained
- β Dynamic pass/fail check for each subject
- π Calculates:
- Total Marks
- Average Marks
- Percentage
- Grade (A+ to F)
- β Highlights subjects in which the student has failed
- π Displays a congratulatory message if all subjects are passed
- π« Input validation to prevent incorrect data entry
- π Python 3.x
- Concepts Used:
- Functions
- Lists & Tuples
- Conditional Logic
- Input Validation
- Loops
- Clone the repository or download the Python file.
- Open terminal/command prompt and navigate to the project directory.
- Run the file using:
python student_marks_analyzer.py
- Follow the prompts:
- Enter the student's name
- Number of subjects
- Subject-wise input of name, max marks, pass marks, and obtained marks
- Get a complete result summary printed on the screen!
Enter Student Name : Sandesh
Enter number of Subjects : 7
Subject 1
β€ Enter subject name : English
β€ Enter maximum marks : 100
β€ Enter minimum passing marks : 35
β€ Enter marks obtained in English : 87
Subject 2
β€ Enter subject name : Marathi
β€ Enter maximum marks : 100
β€ Enter minimum passing marks : 35
β€ Enter marks obtained in Marathi : 91
Subject 3
β€ Enter subject name : Hindi
β€ Enter maximum marks : 100
β€ Enter minimum passing marks : 35
β€ Enter marks obtained in Hindi : 77
Subject 4
β€ Enter subject name : Mathamatics
β€ Enter maximum marks : 100
β€ Enter minimum passing marks : 35
β€ Enter marks obtained in Mathamatics : 95
Subject 5
β€ Enter subject name : History and Civics
β€ Enter maximum marks : 50
β€ Enter minimum passing marks : 17
β€ Enter marks obtained in History and Civics : 43
Subject 6
β€ Enter subject name : Geography
β€ Enter maximum marks : 50
β€ Enter minimum passing marks : 17
β€ Enter marks obtained in Geography : 47
Subject 7
β€ Enter subject name : Project
β€ Enter maximum marks : 100
β€ Enter minimum passing marks : 35
β€ Enter marks obtained in Project : 90
---------------------------------------------
π Result Summary for Sandesh
---------------------------------------------
English : 87/100 (β
Passed)
Marathi : 91/100 (β
Passed)
Hindi : 77/100 (β
Passed)
Mathamatics : 95/100 (β
Passed)
History and Civics : 43/50 (β
Passed)
Geography : 47/50 (β
Passed)
Project : 90/100 (β
Passed)
---------------------------------------------
Total Marks : 530/600
Average Marks : 75.71
Percentage : 88.33%
Grade : A
π Congratulations!!! You passed all subjects.
-
Clean and user-friendly CLI interface.
-
Strong data validation ensures smooth user experience.
-
Great beginner-level project to understand lists, tuples, functions, and conditional logic in Python.
Sandesh Salokhe
GitHub: @Sandesh-008
Contributions are welcome! If you'd like to improve this project or add features, feel free to fork the repository and submit a pull request.
This project is open-source and available under the MIT License.
This project is developed as part of a core Python practice series to improve functional and structured programming skills.