Runtime Errors
Code starts running but crashes partway through. Python shows an error message like TypeError, IndexError, or ZeroDivisionError.
Example: dividing by zero, accessing a list index that doesn't exist, or adding a string to a number.
Logic Errors
Code runs without crashing but gives the wrong answer. Python won't warn you — you have to spot the mistake yourself.
Example: using * instead of /, a loop that runs one too few times, or comparing with > instead of >=.