Python Programming Challenges

292 free challenges for GCSE Computer Science students. Perfect for OCR and AQA students looking to practise Python programming, or anyone who wants to sharpen their coding skills.

๐Ÿ“ Edexcel students? Practise Paper 2 challenges here
☰ Browse by Topic
Difficulty:

Lists & Arrays

Storing and manipulating collections of data.

Never done this before? Learn it first →

MediumLists & Arrays
Battleships Game
Create a simplified one-player Battleships game where the player tries to guess the locations of the computer's ships on
MediumLists & Arrays
Currency Converter
Write a program that stores currency names and exchange rates in a list. The program should convert an amount in British
MediumLists & Arrays
Simple Notebook
Write a program that allows the user to store up to 10 notes. The user can choose which note to overwrite by entering it
EasyLists & Arrays
Build a Shopping List
Add five items typed by the user to a list, then display the list and how many items it holds.
MediumLists & Arrays
Count Above Average
Read six numbers into a list, work out the average, and count how many are above it.
EasyLists & Arrays
Count Occurrences
Count how many times a chosen number appears in a list.
EasyLists & Arrays
Reverse the List
Read five words into a list and print them in reverse order.
MediumLists & Arrays
Add Up Until Zero
Keep reading numbers into a list until 0 is entered, then print the count and total.
EasyLists & Arrays
Playlist Manager
Create and modify a playlist using list operations.
MediumLists & Arrays
Score Tracker
Store and analyse scores in a list - find max, min, and average.
MediumLists & Arrays
Student Name Search
Perform a linear search through a list to find a student.
MediumLists & Arrays
Lottery Number Generator
Generate unique random numbers and store them in a list.
MediumLists & Arrays
Quiz Score Register
Use parallel lists to store names and scores, then search and display.
HardLists & Arrays
Task List Manager
Complete task manager with add, remove, view, and mark-complete operations.
HardLists & Arrays
Bubble Sort
Implement bubble sort on a list of numbers, showing each pass.
MediumLists & Arrays
Duplicate Remover
Find and remove duplicate values from a list using iteration.