POST-ASSESSMENT MINI PROJECTS
🎮 Python Mini Projects – Pick Your Challenge
Your assessment is submitted! Congratulations! 🎉🥳🪅 Over the next few lessons, you can either keep building something cool from your assessment project or try one of the mini projects below.
✅ What this page is for
• Keep coding after the assessment
• Practise your Python skills in a fun way
• Build something small, interesting and workable
• Finish one properly before jumping to another
• Practise your Python skills in a fun way
• Build something small, interesting and workable
• Finish one properly before jumping to another
🎯 Goal
Use the skills you have built this term: inputs, outputs, decisions, loops, functions, lists and tuples.
⚠️ One rule
Choose one path, build it properly, and test it as you go. Don’t start five things and finish none of them.
1️⃣ Choose your path
You have two good options. Both count as worthwhile coding practice.
🚀 Option 1 – Continue your assessment project
Some of you built ambitious projects for the assessment and did not finish them because you did not need to. If your idea still has life in it, keep going.
Good next steps:
• add one new feature
• improve input validation
• reorganise repeated code into functions
• add or improve lists / tuples where appropriate
• clean up the output so it is easier to read
• improve input validation
• reorganise repeated code into functions
• add or improve lists / tuples where appropriate
• clean up the output so it is easier to read
🎲 Option 2 – Pick a mini project
If you want a fresh challenge, choose one of the mini projects below. These are small, fun projects designed to keep you coding and thinking.
Best approach:
• pick one project
• build the minimum version first
• test it properly
• then add extension ideas if you finish early
• build the minimum version first
• test it properly
• then add extension ideas if you finish early
2️⃣ Mini project menu
Pick one of these if you want to start something new.
🔐 Password Strength Tester
Check how strong a password is using rules like length, capitals, numbers and special characters.
🧙 Fantasy Character Generator
Generate random fantasy characters using lists of names, classes, weapons and abilities.
🗺️ Choose Your Fate Adventure
Build a short story game where the player makes choices and reaches different endings.
😂 Mad Libs Story Generator
Ask the user for words, then drop them into a funny, school-appropriate story and print the result.
🔐 Password Strength Tester
What you are building
A program that asks the user for a password, checks how strong it is, and gives feedback.
Minimum requirements
Your program should:
• ask the user for a password
• check at least 4 rules
• tell the user whether the password is weak, okay or strong
• explain why
• check at least 4 rules
• tell the user whether the password is weak, okay or strong
• explain why
Good rules to test
You might check:
• length
• capital letters
• lowercase letters
• numbers
• special characters
• capital letters
• lowercase letters
• numbers
• special characters
Extension ideas: give the password a score, suggest how to improve it, or loop so the user can test multiple passwords.
🌍 Real-world support / inspiration
Have a look at the Hive Systems password table for a real-world example of how password length and complexity affect cracking time. You do not need to copy it exactly — use it for inspiration when making your own rules.
Use this page as your guide. If you’re stuck, check the Python Reference Wiki or ask for help.
🧙 Fantasy Character Generator
What you are building
A program that creates a random fantasy character by combining items from lists.
Minimum requirements
Your program should generate:
• a character name
• a class or role
• a weapon or item
• a special ability
• a class or role
• a weapon or item
• a special ability
Skills this practises
This is great for:
• lists
• importing modules
• randomness
• functions
• clear output formatting
• importing modules
• randomness
• functions
• clear output formatting
Extension ideas: ask the user what type of character they want, generate stats, or let them create a whole party instead of one character.
🌍 Real-world support / inspiration
Need ideas for classes, roles or fantasy flavour? Have a look at the D&D Beyond class and basic rules pages. They are a good source of inspiration for fantasy categories and character ideas.
D&D Beyond Character Classes: https://www.dndbeyond.com/sources/dnd/br-2024/character-classes
D&D Beyond Basic Rules: https://www.dndbeyond.com/sources/dnd/br-2024
D&D Beyond Basic Rules: https://www.dndbeyond.com/sources/dnd/br-2024
Use this page as your guide. If you’re stuck, check the Python Reference Wiki or ask for help.
🗺️ Choose Your Fate Adventure
What you are building
A short text adventure where the player makes choices and reaches different endings.
Minimum requirements
Your game should have:
• a starting situation
• at least 3 decision points
• at least 2 different endings
• clear user choices
• at least 3 decision points
• at least 2 different endings
• clear user choices
Think carefully about
This project needs:
• sensible decision structure
• good user prompts
• input validation
• clear story flow
• good user prompts
• input validation
• clear story flow
Extension ideas: add inventory items, let the user replay, or create more endings depending on the choices they made.
🌍 Real-world support / inspiration
Twine is a real tool used to build interactive, branching stories. Your project is still being built in Python, but Twine is a good way to see how nonlinear stories are planned and structured.
Twine: https://twinery.org/
Twine Basic Concepts: https://twinery.org/reference/en/getting-started/basic-concepts.html
Twine Basic Concepts: https://twinery.org/reference/en/getting-started/basic-concepts.html
Use this page as your guide. If you’re stuck, check the Python Reference Wiki or ask for help.
😂 Mad Libs Story Generator
What you are building
A program that asks the user for different words, then drops them into a funny, school-appropriate story template.
Minimum requirements
Your program should:
• ask for several different word types
• store the answers in variables
• build a complete story using those words
• print the story clearly
• store the answers in variables
• build a complete story using those words
• print the story clearly
Great for practising
This is especially good for:
• inputs
• strings
• formatting output
• functions
• creativity
• strings
• formatting output
• functions
• creativity
Extension ideas: make multiple school-appropriate story templates, let the user choose a theme, or store words in lists and build several funny outputs.
🌍 Real-world support / inspiration
Mad Libs is a real word game, and the printables section has school-appropriate examples of the format. Use it for inspiration when designing your own story templates.
Use this page as your guide. If you’re stuck, check the Python Reference Wiki or ask for help.
✅ Before you start
Good habits
• Build a simple version first
• Test as you go
• Fix errors early
• Keep your code readable
• Test as you go
• Fix errors early
• Keep your code readable
Remember
You do not need to build something enormous. A small project that works properly is better than a giant project that barely runs.