Home › Daily Python Challenge
Daily Python Challenge
🔥 One challenge, every dayFree · no login needed90-day archive
📅 Today's challenge
Today (Sat, 26 Sept, 2026) the challenge is Division by zero in a list comprehension — an output-prediction question (exceptions, medium).
Take today's challenge →How it works
Every day PyDebug picks one problem from the free catalog — the same one for everybody, worldwide. Solve it signed-in and it counts toward your daily streak and the weekly leaderboard. Miss a day and the streak resets, which is precisely the point: ten minutes of deliberate Python practice, every single day, beats a six-hour Sunday binge.
The pick is deterministic (date-seeded), so this archive is reconstructable: every past day below links to that day's problem and its full explanation. Working back through the archive is allowed — streaks, however, only count the current day.
🗓️ Challenge archive — last 90 days
- Sat, 26 Sept, 2026 today Division by zero in a list comprehension
- Fri, 25 Sept, 2026 Mutable default argument trap
- Thu, 24 Sept, 2026 Dictionary get with default
- Wed, 23 Sept, 2026 Loop range boundaries
- Tue, 22 Sept, 2026 Custom exception messages
- Mon, 21 Sept, 2026 Swapping variables with tuples
- Sun, 20 Sept, 2026 Operator precedence
- Sat, 19 Sept, 2026 Loop variable after the loop ends
- Fri, 18 Sept, 2026 Dictionary pop() with default
- Thu, 17 Sept, 2026 List extend vs append
- Wed, 16 Sept, 2026 String multiplication and indexing
- Tue, 15 Sept, 2026 Finally block runs even after return
- Mon, 14 Sept, 2026 Concatenating a list of strings incorrectly
- Sun, 13 Sept, 2026 Off-by-one when counting down
- Sat, 12 Sept, 2026 Wrong loop variable for dict values
- Fri, 11 Sept, 2026 Wrong function to find list length
- Thu, 10 Sept, 2026 Wrong method to remove whitespace
- Wed, 9 Sept, 2026 Multiple except with a shared exception
- Tue, 8 Sept, 2026 Tuple unpacking with functions
- Mon, 7 Sept, 2026 abs() and type conversion
- Sun, 6 Sept, 2026 Nested loop with a shared variable
- Sat, 5 Sept, 2026 setdefault() behavior
- Fri, 4 Sept, 2026 List copy vs reference
- Thu, 3 Sept, 2026 String comparison basics
- Wed, 2 Sept, 2026 Average of an empty filtered list
- Tue, 1 Sept, 2026 Deleting a key that doesn't exist
- Mon, 31 Aug, 2026 range() with wrong bounds
- Sun, 30 Aug, 2026 Checking if a string is empty
- Sat, 29 Aug, 2026 break vs continue
- Fri, 28 Aug, 2026 Dictionary get with a default
- Thu, 27 Aug, 2026 Checking membership in a list
- Wed, 26 Aug, 2026 String repetition and length
- Tue, 25 Aug, 2026 Unpacking the wrong number of values
- Mon, 24 Aug, 2026 Slicing with the wrong direction
- Sun, 23 Aug, 2026 Using = instead of == in a condition
- Sat, 22 Aug, 2026 Wrong index to get the last item
- Fri, 21 Aug, 2026 f-string missing the f prefix
- Thu, 20 Aug, 2026 Average calculation crashes on empty input
- Wed, 19 Aug, 2026 Sorting a list with mixed types
- Tue, 18 Aug, 2026 Trying to modify a tuple like a list
- Mon, 17 Aug, 2026 Converting invalid text to a number
- Sun, 16 Aug, 2026 Looping over a number instead of a sequence
- Sat, 15 Aug, 2026 Using a variable before it's defined
- Fri, 14 Aug, 2026 Accessing a missing dictionary key
- Thu, 13 Aug, 2026 Adding a number to a list wrong way
- Wed, 12 Aug, 2026 Missing indentation after if
- Tue, 11 Aug, 2026 Slicing does not include the end index
- Mon, 10 Aug, 2026 Class variable shared across instances
- Sun, 9 Aug, 2026 Tuple immutability
- Sat, 8 Aug, 2026 Set removes duplicates automatically
- Fri, 7 Aug, 2026 Division by zero in a list comprehension
- Thu, 6 Aug, 2026 Mutable default argument trap
- Wed, 5 Aug, 2026 Dictionary get with default
- Tue, 4 Aug, 2026 Loop range boundaries
- Mon, 3 Aug, 2026 Custom exception messages
- Sun, 2 Aug, 2026 Swapping variables with tuples
- Sat, 1 Aug, 2026 Operator precedence
- Fri, 31 Jul, 2026 Missing colon after function definition
- Thu, 30 Jul, 2026 Adding two lists with +
- Wed, 29 Jul, 2026 Wrong quote type breaks the string
- Tue, 28 Jul, 2026 Wrong dictionary key
- Mon, 27 Jul, 2026 Incorrect list index
- Sun, 26 Jul, 2026 String is not converted to uppercase
- Sat, 25 Jul, 2026 Off-by-one loop error
- Fri, 24 Jul, 2026 Missing Colon in for Loop
- Thu, 23 Jul, 2026 Countdown
- Wed, 22 Jul, 2026 Print Even Numbers
- Tue, 21 Jul, 2026 Print Numbers from 1 to 5
- Mon, 20 Jul, 2026 Nested dictionary access
- Sun, 19 Jul, 2026 while loop with a condition update
- Sat, 18 Jul, 2026 List methods in sequence
- Fri, 17 Jul, 2026 Integer division and modulo
- Thu, 16 Jul, 2026 String case methods
- Wed, 15 Jul, 2026 Checking key existence the wrong way
- Tue, 14 Jul, 2026 Sorting doesn't return a new list
- Mon, 13 Jul, 2026 Calling a function before defining it
- Sun, 12 Jul, 2026 range() with wrong bounds
- Sat, 11 Jul, 2026 Checking if a string is empty
- Fri, 10 Jul, 2026 break vs continue
- Thu, 9 Jul, 2026 Dictionary get with a default
- Wed, 8 Jul, 2026 Checking membership in a list
- Tue, 7 Jul, 2026 String repetition and length
- Mon, 6 Jul, 2026 Unpacking the wrong number of values
- Sun, 5 Jul, 2026 Slicing with the wrong direction
- Sat, 4 Jul, 2026 Using = instead of == in a condition
- Fri, 3 Jul, 2026 Wrong index to get the last item
- Thu, 2 Jul, 2026 f-string missing the f prefix
- Wed, 1 Jul, 2026 Average calculation crashes on empty input
- Tue, 30 Jun, 2026 zip() combining two lists
- Mon, 29 Jun, 2026 Chained assignment
Keep the habit going
Done with today's? Continue a learning path where you left off, drill output-prediction questions, or turn on the optional daily reminder notification so tomorrow's challenge finds you. Teachers: the daily challenge makes a great warm-up — see PyDebug for classrooms.