DEV Community

Shahrouz Nikseresht
Shahrouz Nikseresht

Posted on

80 Days of Python Challenges: How I Turned Consistency into Progress

📘 Introduction:
Learning programming can be overwhelming, especially when you don’t have a structured path or a clear daily routine. A few months ago, I decided to challenge myself to code every day in Python for 80 days. The goal was simple, yet ambitious: practice consistently, improve problem-solving skills, and share my progress publicly.

If you want to see where it all started, check out my first post about the 80 Days of Challenges here.

🛠 My Approach:
I divided the 80 days into small, manageable challenges. Each day, I picked one concept or mini-project, something that could be done in an hour or less, but still teach me a core idea. From loops, lists, and dictionaries to mini-algorithms and small games, every task had a clear goal.
From loops, lists, and dictionaries to mini-algorithms and small games, every task had a clear goal.

💻 Examples from the challenges:

For example, I built a Turn-Based FizzBuzz Game where the player competes against the machine.

That one helped me practice while loops, string comparisons, and alternating turns, and made me appreciate how logic can make even simple games feel interactive.

Another day, I created a Coin Flip Guessing Game to practice random.choice(), user input, and conditional logic, which made randomness and interactivity click for me.

When I solved the 0/1 Knapsack Problem, I got my first real taste of dynamic programming and optimization logic, it was one of those “oh, so that’s how algorithmic thinking actually works” moments.

Even simpler challenges had depth, counting vowels in a string taught me about loop efficiency and clean function design, while the palindrome checker helped me practice string cleaning, slicing, and ignoring punctuation and case sensitivity.

Some scripts were purely logical, like counting even and odd numbers with proper type checking and error handling, while others were about data pattern recognition, like mapping classmates with shared classes using nested loops and set intersections.


Every small piece built up my muscle memory in a different area, from basic flow control to handling user input, modular design, and even thinking about performance.

I shared every single challenge on GitHub here and posted about it publicly on DEV.to.
The public aspect was crucial, knowing that anyone could read, fork, or comment on my work made me write more thoughtfully. It turned coding into a two-way experience, not just something I did alone at night.

The public aspect was important. Knowing that others could see my work and potentially fork it motivated me to write cleaner, structured code. It also created a small but encouraging feedback loop through comments and views.

📊 Results:
As the challenge progressed, I began noticing both technical and personal growth. After 25 days, the numbers spoke for themselves: over 500 followers on DEV.to, more than 1,000 total views, and even a couple of forks of my 80-days-of-challenges repository. Beyond numbers, the real achievement was my growth. I gained confidence in writing Python code, learned to structure projects more efficiently, and became comfortable sharing my work publicly.

💡 Lessons Learned:

  • Consistency beats intensity. Even short daily sessions add up over time.
  • Sharing work publicly pushes you to improve your coding style and documentation.
  • Challenges should gradually increase in difficulty, but even small, simple exercises have value when done consistently.
  • Tracking progress, even just through views and forks, provides motivation and accountability.

🎯 Advice for Others:
If you want to start your own learning journey, try small, structured challenges. Share your progress publicly, and don’t be afraid of mistakes, they’re part of the process. Focus on learning daily, not on immediate perfection. Use GitHub for your code and a platform like DEV.to to document your journey, because having a visible record of your progress makes a huge difference.

📱 Stay Connected:

If you’d like to follow my journey or chat about learning Python, you can find me here:
🐦 Twitter/X
🎥 YouTube
💻 GitHub

🏁 Conclusion:
The 80 Days of Python Challenges taught me more than any single course or tutorial could. It showed me the power of consistency, public sharing, and gradual improvement. More importantly, it gave me the confidence to tackle more complex projects in Python and move towards my goal of becoming a backend developer.

I hope my experience inspires others to start small, keep consistent, and share what they learn along the way. The journey is just as valuable as the outcome.


🙏 A Note of Thanks:
I’m genuinely grateful to the Python and DEV community for being such an open, inspiring space to share and learn. Seeing others post their projects, comment on mine, or even fork my repo has been a huge motivator.
Every small bit of interaction reminded me that coding isn’t just a solo grind, it’s a shared journey.

Top comments (0)