Introduction to Python Programming and Errors
From the Computer Science & Coding (ICT) curriculum
Introduction to Python Programming and Errors
TL;DR
Python is a popular, easy-to-read programming language that helps computers follow instructions. When your code doesn't work as expected, it's usually due to common errors like syntax issues, incorrect data types, or logic problems. Learning to identify and fix these errors is a crucial part of becoming a good programmer.
1. The Mental Model
Think of Python as a set of instructions you give to a very literal but fast assistant. You need to speak its language precisely, or it won't understand what you want, or it'll do something unexpected.
2. The Core Material
Python is a versatile programming language known for its readability and simplicity. You'll use it to write programs, which are essentially lists of instructions for your computer to execute.
How Python Runs Your Code

Photo by Nemuel Sereti on Pexels
When you write Python code, you're creating a .py file. This file then goes through a special program called an interpreter. The interpreter reads your code line by line, translates it into something the computer understands, and then tells the computer to do it.
graph TD
A["You Write Code (e.g., my_program.py)"] --> B["Python Interpreter Reads Code"]
B --> C{"Is the Code Valid Python?"}
C -->|Yes| D["Computer Executes Instructions"]
C -->|No| E["Error Message Displayed"]
Common Types of Errors

Photo by Brett Jordan on Pexels
Errors are a normal part of programming; everyone makes them! They're not failures, but rather clues telling you something needs fixing. There are three main types you'll encounter:
Syntax Errors
These are like grammatical mistakes in human language. Python can't even begin to understand your instruction if it's not written correctly. The interpreter stops immediately when it hits a syntax error.
Example: Forgetting a colon or a parenthesis.
# Incorrect syntax: missing colon after 'if'
if True
print("This won't work")
When you run this, Python will give you a SyntaxError.
Runtime Errors (Exceptions)
Your code might be grammatically correct (no syntax errors), but when Python tries to do what you've asked, something goes wrong during execution. These are called exceptions.
Example: Trying to divide by zero or access a part of a list that doesn't exist.
# Runtime error: division by zero
result = 10 / 0
print(result)
This will produce a ZeroDivisionError.
# Runtime error: accessing an invalid index
my_list = [1, 2, 3]
print(my_list[5]) # There's no item at index 5
This will produce an IndexError.
Logic Errors
This is the trickiest type because Python won't complain at all. Your code runs perfectly fine, but it doesn't do what you intended it to do. The output is wrong, but there's no error message.
Example: Calculating an average incorrectly.
# Logic error: doesn't correctly calculate the average
num1 = 10
num2 = 20
average = num1 + num2 / 2 # Incorrect order of operations
print(f"The average is: {average}") # Output: 20.0, but should be 15.0
Python happily performs the division first, then the addition. You need parentheses to fix this: (num1 + num2) / 2.
3. Worked Example
Let's say you want to write a simple Python program to ask a user for their name and age, then print a greeting.
Initial Attempt (with errors):
name = input("What's your name? ")
age = input("How old are you? ")
print("Hello, " + name + "! You'll be " + age + 1 + " next year.")
Running this code and fixing errors:
-
When you run this, you'll get a
TypeError:can only concatenate str (not "int") to str.- Diagnosis: The error message points to the
age + 1part. You asked forageusinginput(), which always returns text (a "string"). You're trying to add the number1to text, which Python doesn't know how to do. - Fix: You need to convert
ageto an integer (a whole number) before you can do math with it.
- Diagnosis: The error message points to the
-
Corrected Code:
python name = input("What's your name? ") age = int(input("How old are you? ")) # Convert age to an integer here print("Hello, " + name + "! You'll be " + str(age + 1) + " next year.") # Convert age+1 back to string for printing -
Running the corrected code:
- Input:
What's your name? Alice - Input:
How old are you? 25 - Output:
Hello, Alice! You'll be 26 next year.
- Input:
This version now works correctly because we handled the data type mismatch.
4. Key Takeaways
- Python uses an interpreter to run your code line by line.
- Syntax errors mean your code isn't grammatically correct; Python stops immediately.
- Runtime errors (exceptions) happen during execution, even if the syntax is correct, like dividing by zero.
- Logic errors mean your code runs without errors but produces the wrong result, requiring careful thought to debug.
input()always gives you text (strings); convert it to numbers (integers or floats) if you want to do math.- Error messages are your friends; read them carefully as they point you towards the problem.
Common Mistakes to Avoid

Photo by KATRIN BOLOVTSOVA on Pexels
- Forgetting colons
:afterif,for,def, etc. - Misspelling variable names (e.g.,
print(my_list)instead ofprint(my_list)). Python thinksmy_listandmy_listare different. - Trying to do math operations on strings without converting them to numbers first.
- Not paying attention to indentation, which is crucial in Python to define blocks of code.
5. Now Try It
Write a Python program that asks the user for two numbers, adds them together, and then prints the sum. Introduce a ValueError on purpose by entering text when prompted for a number, observe the error, and then fix your program so it only prints the sum if valid numbers are entered.
Frequently asked about Introduction to Python Programming and Errors
Study this next
Get the full Computer Science & Coding (ICT) curriculum
Clone the complete plan to your dashboard for unlimited AI-generated notes, practice quizzes, and a personalised revision schedule.
Create Free Account