Skip to content

This repository is dedicated to documenting my journey through the 100 days of Python challenge, where I commit to coding and learning Python every day for 100 days.

Notifications You must be signed in to change notification settings

Birendra-Nath-Nandi/100-Days-of-Code-Python

Repository files navigation

100 Days of Python Challenge

Welcome to the 100 Days of Python Challenge! 🚀

This repository is dedicated to documenting my journey through the 100 days of Python challenge, where I commit to coding and learning Python every day for 100 days.

About the Challenge

The 100 Days of Python Challenge is a commitment to improving your Python programming skills by coding for at least an hour every day for 100 days straight. Whether you're a beginner looking to learn Python or an experienced developer aiming to reinforce your skills, this challenge is for you!

Goals

  • Improve Python Proficiency: Strengthen my understanding of Python syntax, concepts, and best practices.
  • Build Projects: Apply my Python skills to create useful and interesting projects.
  • Expand Knowledge: Explore advanced Python topics such as data science, web development, automation, and more.

Rules

  1. Code for a minimum of Two hour every day.
  2. Share my progress on social media using the hashtag #100DaysOfPython.
  3. Document my daily progress in this repository by committing code, notes, and reflections.

Structure

  • Daily Progress: Each day, I will create a new directory labeled with the respective day number (e.g., Day1, Day2, etc.).
  • Code: Within each daily directory, I will include the Python code I wrote or learned.
  • Notes: I will also document any insights, challenges, or new concepts I encountered during the day's coding session.
  • Resources: Links to helpful tutorials, articles, and documentation will be included for further learning.

Motivation

By participating in the 100 Days of Python Challenge, I aim to solidify my Python skills, cultivate discipline, and build a habit of consistent learning. Through daily practice and reflection, I believe I can achieve my goal of becoming a proficient Python developer.

Progress Log

  • Day 1: Learned about the input() and print() functions, mastered variable manipulation, and debugged my first program.

  • Day 2: Explored data types, type checking and typecasting, mathematical operations and priority rules, round functions, f-strings, and shorthand operations. Completed the Tip Calculator challenge program.

  • Day 3: Studied control flow using if/else and conditional operators, including nested if/elif/else statements and logical operators. Completed the Treasure Island Game challenge program.

  • Day 4: Examined the random module and lists, along with list methods. Completed the Rock, Paper, Scissors challenge program.

  • Day 5: Learned about for loops and developed four programs: Average Height, High Score Finder, Adding Even Numbers, and the FizzBuzz game. Completed the Random Password Generator challenge program.

  • Day 6: Studied while loops and indentations, and created a program for a virtual robot to navigate a maze in 'Reeborg's World'.

  • Day 7: Developed a complete Hangman game from scratch.

  • Day 8: Learned about functions with arguments, and created two practice programs: Paint Area Calculator and Prime Number Checker. Completed the Caesar Cipher challenge program.

  • Day 9: Explored dictionaries and nested data structures (lists and dictionaries). Created two practice programs: Grading System and Dictionary in List. Completed the Blind Auction challenge program.

  • Day 10: Studied functions with multiple return values, and created a practice program to calculate days in a month. Completed the Calculator challenge program.

  • Day 11: Developed a complete Blackjack Game project from scratch.

  • Day 12: Learned about local and global scopes, and constants. Created a Number Guessing Game.

  • Day 13: Studied debugging techniques: describing the problem, reproducing the bug, simulating the computer, fixing errors, using print statements, and utilizing a debugger.

  • Day 14: Created a Higher or Lower game program from scratch.

  • Day 15: Built a Coffee Machine program from scratch in Python. This project involved handling resources, processing transactions, and making decisions based on user input.

  • Day 16: Delved into Object-Oriented Programming (OOP), explored turtle graphics, and learned about Python packages. Created an OOP Coffee Machine program to apply the new concepts.

  • Day 17: Deepened understanding of Object-Oriented Programming (OOP) by studying classes, methods, and created an OOP Quiz Game Program.

  • Day 18: Explored the Turtle module and completed the Hirst Painting Project. This project was an exciting opportunity to unleash creativity and create stunning artwork using Python.

  • Day 19: Delved deeper into Turtle methods and created the Turtle Race program. This project was an exciting challenge to simulate a thrilling race among colorful turtles using Python.

  • Day 20: Began creating a Snake Game (Part 1 of 2). It's exciting to dive into game development and explore the world of Python programming.

  • Day 21: Continued working on the Snake Game (Part 2 of 2). It's amazing to see the game taking shape with enhanced functionality and features.

  • Day 22: Built a classic Pong game from scratch. It was an incredible experience implementing the logic for paddles, ball movement, and scoring system.

  • Day 23: Created an addictive Turtle Crossing game. It's a thrilling challenge where the player navigates through traffic to reach the other side safely.

  • Day 24: Dove into file handling in Python. Learned how to open, read, and write to files using the with keyword, and explored absolute and relative file paths.

  • Day 25: Dived into the world of data manipulation with the pandas library in Python. Explored various .csv operations and tackled some exciting challenges.

  • Day 26: Delved into list comprehension in Python and applied this knowledge to create a fun and educational NATO Alphabet program.

  • Day 27: Began exploring the Tkinter module and the concepts of *args and **kwargs in Python. Created a Miles to Kilometers Converter program to apply these concepts.

  • Day 28: Dived into GUI programming with Tkinter and built a Pomodoro App from scratch.

  • Day 29: Crafted a GUI Password Generator from scratch using Tkinter. This handy tool generates strong and secure passwords with just a click.

  • Day 30: Enhanced the GUI Password Generator by adding a search feature and securely storing data using JSON files. Now, it can generate strong passwords and retrieve them whenever needed.

  • Day 31: Built a Flash Card App from scratch using Python and Tkinter. This app aids in language learning by showing a word in French and flipping the card to reveal its English translation after a few seconds. It also tracks words that need more practice and saves progress in a CSV file.

  • Day 32: Created a Birthday Wisher Program in Python. This program checks a CSV file for today's birthdays and sends automated birthday wishes via email using SMTP. It's a personalized way to celebrate special days.

  • Day 33: Created an ISS Overhead Notifier Project in Python. This program tracks the International Space Station's (ISS) position and sends an email notification when it's overhead at night.

  • Day 34: Built a GUI Quiz App in Python from scratch. This project involved integrating question data, creating a quiz engine, and designing a user-friendly interface using Tkinter.

  • Day 35: Built a Rain Alert system using OpenWeatherMap and Twilio APIs from scratch. This project involved fetching weather data and sending SMS alerts for rain predictions.

  • Day 36: Built a Stock News Program from scratch. This project fetches stock price data and relevant news articles, then sends alerts via Twilio if there are significant changes.

  • Day 37: Successfully created a Habit Tracker Program from scratch. This project utilizes the Pixela API to track daily habits like cycling distances, integrating data posting and updating functionalities with the Python requests module.

  • Day 38: Created an Exercise Tracker Program from scratch. This project integrates the Nutritionix API to log exercises and calculate calories, then stores the data in a Google Sheet using the Sheety API.

  • Day 39: Created a Cheap Flight Finder Program from scratch. This project leverages various APIs to search for the cheapest flights from a specified origin to multiple destinations and sends notifications for the best deals via WhatsApp.

  • Day 40: Created a Flight Search Program from scratch. This project searches for the best flight deals, including both direct and indirect flights, and sends notifications via WhatsApp and email. It’s an incredible tool for finding the cheapest flights and planning trips effectively.

  • Day 41: Began my journey into web development by learning about web technologies. Created a simple Movie Ranking Project showcasing my top 3 favorite movies. This is a step towards mastering front-end skills and creating engaging web experiences.

  • Day 42: Created a fun and interactive Birthday Invite Program as part of my web development journey. This project allowed me to practice HTML and learn more about creating engaging content on the web.

  • Day 43: Created a Colour Vocab Website as part of my web development journey. This project helped me practice HTML and CSS, and allowed me to create a fun and interactive way to learn Spanish vocabulary for colors.

  • Day 44: Had a blast creating a Meme Website as part of my web development journey. This project allowed me to practice HTML, CSS, and incorporate Google Fonts to create a fun and visually appealing meme poster.

  • Day 45: Successfully scraped a live website to compile a list of 100 Movies to Watch. Using Python, I extracted movie titles from a web page and saved them into a text file. This project helped me practice web scraping with BeautifulSoup and reinforced my understanding of HTML parsing.

  • Day 46: Built a Musical Time Machine using Python. This project involved web scraping the Billboard 100 chart for a specific date and creating a Spotify playlist with the top songs from that era. It was a fantastic way to combine web scraping, API usage, and data manipulation.

  • Day 47: Created an Email Alert program that scrapes a product website and sends an email notification when the price drops below a preset value. This project helped me dive deep into web scraping, data extraction, and email automation.

  • Day 48: Created an Automated Game Playing Bot using Python and Selenium. This bot can play the Cookie Clicker game by automatically clicking the cookie and purchasing upgrades, aiming to maximize the cookies per second.

  • Day 49: Tackled the challenge of automating job applications using Python and Selenium. My program navigates to LinkedIn job listings, fills out application forms, and submits them automatically. This is a game-changer for streamlining the job search process!

  • Day 50: Focused on automation by creating a program that automates the "liking" process on Tinder using Python and Selenium. While I have zero interest in Tinder itself, this project was an incredible exercise in web automation and handling various web elements and exceptions.

  • Day 51: Created a Twitter Bot to tweet at your Internet Provider. Using Python and Selenium, I built a bot that measures internet speed and tweets at the provider if the speed doesn't match the promised rates. While this is a hypothetical project, it was a great exercise in web automation and real-world applications.

  • Day 52: Created an Instagram Follow Automation Program using Python and Selenium. This bot follows the followers of a targeted Instagram account, enhancing my skills in web automation and interaction with social media platforms.

  • Day 53: Created a Zillow Data Entry program using Python, BeautifulSoup, Requests, and Selenium. This project involved scraping rental property data from a Zillow-clone website and automating the entry of this data into a Google Form.

  • Day 54: Started diving into Backend Web Development with Flask and explored Python decorators. Created a Python Decorator program that measures the execution speed of functions, enhancing my understanding of how decorators can be utilized to add functionality in a clean and efficient way.

  • Day 55: Delved into creating interactive web applications with Flask and built a "Higher or Lower URLs" game. This program generates a random number and challenges users to guess it by navigating through different URLs with feedback on their guesses. It's a fun way to apply Flask's routing and dynamic content generation.

  • Day 56: ...

  • Day 57: ...

Check out my daily progress in the respective directories!

Connect with Me

Let's connect and support each other on this journey! Feel free to reach out:

Join me in the #100DaysOfPython challenge and let's level up our Python skills together! 💻🐍

About

This repository is dedicated to documenting my journey through the 100 days of Python challenge, where I commit to coding and learning Python every day for 100 days.

Topics

Resources

Stars

Watchers

Forks