These are my total beginner-level projects. The goal of these is to build confidence and see consistent progress for my own sake. None of these projects are particularly impressive, but they showcase my growth.
My very first project as is recommended by many. It's a very rudimentary calculator that supports two values and one operator. This project taught me about exception and error handling. I also created functions that will enable me to easily add in other operations while keeping the code clean. I encountered issues with data types and floating point imprecision, which I handled using typecasting and Python's capability for formatting numbers as strings with a specified amount of decimal places.
Download Baby's First CalculatorThis is a simple unit converter I made. It is user friendly, asking the user for clear inputs at each step. This project was more complex than expected and I used a lot of what I learned from the calculator project for this one, specifically for validating user input.
Download Unit ConverterJuly 19th, 2024 - July 23rd, 2024: A little Hangman game. I learned how to load files into a .py program. However the final version does not do that to keep it easily shareable. Instead I just embedded a list of words into the program itself. I used a little python script to quickly format that list so that it wasn't a thousand lines of code. The ASCII art for the hangman game is also embedded into the program itself. I learned about variable scope from this project and dealt with much more complex logic than the previous two. I learned how to change variables using functions. I learned about the python convention if __name__ == "__main__". I learned about Python's capability of assigning multiple variable values with a single function return.
Download DeadguyJuly 28th - August 3rd, 2024: A program that returns weather data back to the user after they input a city's name. I learned a ton from this one and it was by far my most difficult project so far. I had to use multiple APIs to get all the data I needed. I used Open-Meteo for the weather data, and OpenWeatherMap for the geocoding data. I could have used OpenWeatherMap for both but wanted to try multiple APIs at once. I learned how to access specific data from an API. I learned how to read an API's docs to do this. I worked out ways to display data cleanly and legibly. I had to do some pretty extensive user input validation involving libraries like pycountry to keep the program user-friendly.
Download Ohooh WeatherAugust 7th - August 16th, 2024: A simple autoclicker with a GUI. The user can select an interval and hotkey, but the default is set to 1000 ms and X as the hotkey. I learned a lot from this one. I made a GUI for the first time using tkinter and I learned about the python threading module as well as the general computer science concept of threading that allows for simultaneous processes to happen. I learned about various other modules such as keyboard and time. It was a pretty simple project and I had it mostly up and running within 2 hours, but continued to test it and add some features to it, like a clickable button to start the autoclicker, and a little Help button to explain how to use it.
Download Ohooh Autoclick