#30DaysOfDebugging
30 Days of Debugging: Python
One bug a day, for 30 days. Each day is a short piece of Python that almost works, the symptom it causes, and tests that pass once you have fixed it. It takes most people five to ten minutes.
The first three weeks are the bugs every beginner meets. The last stretch is medium level: boundaries, rounding, shared state and an interview problem. Go faster if you like; the days are a pace, not a lock.
Your progress
0 of 30 days
- 1Day 1 · String checker throwing IndexError
- 2Day 2 · Range calculator missing numbers
- 3Day 3 · Sorting function returning undefined
- 4Day 4 · Formatter crashing on valid prices
- 5Day 5 · String casing remains lowercase
- 6Day 6 · Text parser returning wrong counts
- 7Day 7 · Array access throwing TypeError
- 8Day 8 · Missing config key crashes the lookup
- 9Day 9 · Averages losing precision
- 10Day 10 · Security rule bypassing payment checks
- 11Day 11 · Retry mechanism failing instantly
- 12Day 12 · Function crashing when no match found
- 13Day 13 · Tag list vanishes after adding a tag
- 14Day 14 · Countdown never reaches zero
- 15Day 15 · Name formatter crashes on the first letter
- 16Day 16 · Birthday calculator crashes on the form input
- 17Day 17 · Vowel counter skips capital letters
- 18Day 18 · Shopping total crashes at the end of the list
- 19Day 19 · Price parser rejects prices with cents
- 20Day 20 · AI Attempt: The palindrome checker
- 21Day 21 · AI Attempt: FizzBuzz never says FizzBuzz
- 22Day 22 · Validator failing on exact boundariesMedium
- 23Day 23 · Total calculation failing with TypeErrorMedium
- 24Day 24 · Difference calculation returning invalid numbersMedium
- 25Day 25 · Security check allowing invalid dataMedium
- 26Day 26 · Leaderboard calculating wrong winnerMedium
- 27Day 27 · Highest temperature reads 0 on a cold dayMedium
- 28Day 28 · Login says a registered user doesn't existMedium
- 29Day 29 · Grade rounding cheats students out of half a markMedium
- 30Day 30 · AI Attempt: The Two Sum TrapMedium
How it works
- Everything runs in your browser. No install, no account needed to start.
- Sign in to keep your progress across devices. Without an account it is remembered in this browser only.
- Finish all 30 while signed in and you can claim the free 30 Days of Debugging · Python certificate, with a verification link for LinkedIn.
- Posting your progress? Use #30DaysOfDebugging. The share button after each fix writes the post for you.
Prefer JavaScript? 30 Days of Debugging: JavaScript