Practice at your pace
Choose a topic and difficulty below. Start small, experiment with the code, and build up one problem at a time.
Explore the practice guideAvailable practice problems
Using = instead of == in a condition
easyfunctions #2Fix the BugPremium*args used incorrectly
hardfunctions #3Fix the BugFreeCalling a function before defining it
easyfunctions #4Fix the BugFreeMissing Colon in for Loop
easyloops #5Fix the BugFreeWrong quote type breaks the string
easystrings #6Fix the BugFreeMissing colon after function definition
easyfunctions #7Fix the BugPremiumCalling a method that doesn't exist
hardstrings #8Fix the BugPremiumRecursion with a base case that's never reached
hardrecursion #9Fix the BugFreeLooping one step too far
easylists #10Fix the BugFreeConverting text that isn't a number
easyfunctions #11Fix the BugFreeMixing text and numbers in print
easystrings #12Fix the BugFreeCalling a function with too few arguments
mediumfunctions #13Fix the BugPremiumDecorator swallows the arguments
hardfunctions #14Fix the BugFreeUsing = instead of == in a check
easyfunctions #15Fix the BugFreeWrong syntax for adding a new key
easydictionaries #16Fix the BugPremiumTrying to index into a set
hardsets #17Fix the BugFreeTrying to modify a tuple
easytuples #18Fix the BugPremiumClass method missing cls
hardoop #19Fix the BugFreeInconsistent indentation
easyfunctions #20Fix the BugFreeModifying a variable before it's assigned locally
mediumfunctions #21Fix the BugFreeDeleting a key that doesn't exist
easydictionaries #22Fix the BugFreeWrong function to find list length
easylists #23Fix the BugFreeMissing indentation after if
easystrings #24Fix the BugFreeAccessing a missing dictionary key
mediumdictionariesPython Practice Problems – Frequently Asked Questions
Everything you need to know about practicing Python with PyDebug's bug-fixing and output-prediction challenges.
What kinds of Python problems are available?
PyDebug offers two main formats: bug-fixing problems, where broken Python code is shown and you must find and fix the error, and output-prediction questions, where you predict what a given snippet will print. Both train real debugging and code-reading skills.
How do I filter problems by difficulty or topic?
Use the filters at the top of this page. You can filter by difficulty (easy, medium, hard), by topic (variables, loops, functions, lists, dictionaries, OOP, recursion, exceptions, and more), and by access level — free or premium problems.
I am a beginner — where should I start?
Start with easy problems in topics you already know, like variables, strings, and lists. As you solve them, you earn XP and build a daily streak. When you are comfortable, move to medium and hard problems, or try the common Python errors guide to learn what each error means.
Do I need an account to solve problems?
No. Guest mode lets you solve up to 5 problems per day without signing up. Creating a free account unlocks unlimited daily solves, saves your progress, tracks your XP and streak, and lets you appear on the leaderboard.
How do hints and XP work?
Each correct first-time solve earns XP. If you get stuck, hints can guide you toward the answer. Every hint on every problem is free for signed-in learners — one click each, no tasks and no ads. Your streak grows by one for every consecutive day you solve at least one problem.
Are these problems useful for interview preparation?
Yes. Bug-fixing and output-prediction questions appear frequently in Python interviews. Practicing them improves your ability to read code quickly, spot off-by-one errors, understand scope and mutability, and explain what a program does — exactly what interviewers test.