A growing collection of small programs documenting my progression through Python fundamentals, object-oriented programming, data handling, desktop interfaces, and introductory HTML.
This repository is a learning archive rather than one finished application. Each file explores a focused programming concept, making it possible to see how my work developed from basic expressions and conditionals into functions, classes, data analysis, graphical interfaces, and a camera-based attendance prototype.
| Area | Examples | Concepts practiced |
|---|---|---|
| Interactive programs | number_guessing_game.py, basic_quiz_game.py, dice_rolling_simulator.py |
loops, input, branching, randomness |
| Practical utilities | expense_tracker.py, budget_calculator.py, shopping_cart_checkout.py |
calculations, collections, formatting |
| Object-oriented Python | book_class.py, textbook_class_inheritance.py, implementation_encapsulation.py |
classes, inheritance, encapsulation |
| Data exercises | array_operations_and_slicing.py, product_performance_anaylsis.py, seasonal_sales_data_analysis.py |
NumPy, arrays, slicing, analysis |
| Desktop interfaces | calculator.py, attendance_barcode_scanner.py |
Tkinter, events, threading, camera input |
| Web foundations | CatPhotoApp.html |
semantic HTML, forms, images, links |
attendance_barcode_scanner.py combines several topics in one prototype:
- captures frames from a webcam with OpenCV
- decodes student barcodes
- classifies arrival status by time window
- stores attendance records in CSV through pandas
- keeps the interface responsive with a worker thread
- displays and prints session results through Tkinter
This script has platform-specific dependencies and is presented as an experimental learning project, not a production attendance system.
Most files can be run independently with Python 3:
git clone https://github.com/VivaanRajpurohit/Python-HTML-CSS-Projects.git
cd Python-HTML-CSS-Projects
python number_guessing_game.pySome exercises require third-party packages such as NumPy, pandas, OpenCV, pyzbar, or Windows printing libraries. Review a script's imports before running it and install only the packages needed for that exercise.
To view the HTML exercise, open CatPhotoApp.html in a browser.
The filenames are intentionally descriptive: each script is a self-contained exercise centered on one idea. Good starting points are:
my_first_script.pyandpersonal_greeting_program.pyfor basic syntaxpositive_number_checker.pyandgrade_letter_assigner.pyfor conditionalswhile_loop_implementation.pyandlist_iteration.pyfor iterationcontact_form_function.pyandrefactoring_dry.pyfor functionsbook_class.pyandtextbook_class_inheritance.pyfor object-oriented designarray_operations_and_slicing.pyfor numerical datacalculator.pyandattendance_barcode_scanner.pyfor interface-driven programs
The value of this repository is the progression it records. The programs vary in scope and polish, and several preserve early approaches that I would now design differently. Together they document experimentation, repetition, debugging, and the gradual combination of individual concepts into larger projects.
Constructive suggestions are welcome through GitHub Issues.