Input and selection
Build a program that validates an age and decides whether a person qualifies for a junior ticket.
Includes starter code, separate solution, README.
New structured course: Python Foundations: read the lessons online
Original step-by-step challenges for KS3, GCSE and A-level students. Each pack includes a starter exercise and a separate reference solution. Attempt the challenge before opening the solution.
New GCSE course: Nine guided Python programming lessons with original challenges and tested downloads →
Build a program that validates an age and decides whether a person qualifies for a junior ticket.
Includes starter code, separate solution, README.
Write a number guessing game that provides higher/lower hints and counts attempts.
Includes starter code, separate solution, README.
Use functions to find the total, minimum, maximum and mean of a list without using built-in min, max or sum.
Includes starter code, separate solution, README.
Implement binary search as a subroutine; return the index or -1, without using the in operator or index().
Includes starter code, separate solution, README.
Sort a list into ascending order using your own bubble sort without sorted() or sort().
Includes starter code, separate solution, README.
Read a local CSV dataset and calculate mean scores and highest score using csv and basic loops.
Includes starter code, separate solution, README and sample CSV.
Create a Stack class with push, pop, peek and size, handling an empty stack cleanly.
Includes starter code, separate solution, README.
Build a small SQLite database to store book titles and completion flags using parameterised SQL.
Includes starter code, separate solution, README.
Move beyond GCSE into object-oriented design, recursive algorithms, data structures, databases and project development.
Step through worked code examples and try original GCSE and A-level output and debugging quizzes.
Open Python Practice →