You've learned printing, variables, strings, math, input, decisions, loops, lists, dictionaries, and functions. That's everything you need to build real programs!
These capstone projects mix all those skills together. Each one starts with helpful code already written — your job is to finish it. Read the brief, switch to the Practice tab, and bring each program to life. 🚀
🗺️ Your project briefs
🎯 Project 1: Number Guessing Game
The computer picks a secret number. The player keeps guessing, and the program says "too high" or "too low" until they get it. Uses: random, while, if, input.
🧠 Project 2: Quiz Game
Ask a few questions, keep score, and show the final result. Uses: input, if, variables, f-strings.
🔢 Project 3: FizzBuzz
The famous coding challenge! Print 1–20, but say "Fizz" for multiples of 3, "Buzz" for multiples of 5, and "FizzBuzz" for both. Uses: for, %, if/elif.
✊ Project 4: Rock, Paper, Scissors
Play against the computer's random choice and find out who wins. Uses: random, input, if.
🔐 Project 5: Password Strength Checker
Check whether a password is long enough and strong. Uses: input, len, if, functions.
💪 Challenge yourself
Once a project works, make it better! Add more questions, more rounds, nicer messages, or new rules. That's exactly how real programmers learn.
🎮 Build Time!
These projects are interactive — press ▶ Run and play. Finish the TODOs to make each one work, then peek at the solution if you get stuck.
🎯
Project 1: Number Guessing Game
Project
The secret number is ready. Finish the if/elif/else so the game tells the player "too high", "too low", or "correct". Press ▶ Run and play!
import random
secret = random.randint(1, 20)
print("I'm thinking of a number from 1 to 20!")
while True:
guess = int(input("Your guess: "))
if guess == secret:
print("🎉 Correct! You got it!")
break
elif guess < secret:
print("Too low! Try higher. ⬆️")
else:
print("Too high! Try lower. ⬇️")
🧠
Project 2: Quiz Game
Project
Add one more question to the quiz, and make sure score goes up for each correct answer. Run it and test your knowledge!
score = 0
a1 = input("What color is the sky on a clear day? ")
if a1.lower() == "blue":
score += 1
print("Correct! ✅")
else:
print("The answer was blue.")
a2 = input("How many legs does a spider have? ")
if a2 == "8":
score += 1
print("Correct! ✅")
else:
print("The answer was 8.")
a3 = input("What is 6 times 7? ")
if a3 == "42":
score += 1
print("Correct! ✅")
else:
print("The answer was 42.")
print(f"Your final score: {score}")
🔢
Project 3: FizzBuzz
Classic Challenge
Print 1 to 20. For multiples of 3 print Fizz, for multiples of 5 print Buzz, for multiples of both print FizzBuzz, otherwise print the number. Tip: check both (15, 30...) first! Press ✓ Check to verify.
for n in range(1, 21):
if n % 3 == 0 and n % 5 == 0:
print("FizzBuzz")
elif n % 3 == 0:
print("Fizz")
elif n % 5 == 0:
print("Buzz")
else:
print(n)
✊
Project 4: Rock, Paper, Scissors
Project
The computer's random move is ready. Finish the logic that decides the winner. Type rock, paper, or scissors when it asks!
import random
moves = ["rock", "paper", "scissors"]
computer = random.choice(moves)
you = input("rock, paper, or scissors? ").lower()
print(f"Computer chose: {computer}")
if you == computer:
print("It's a tie! 🤝")
elif (you == "rock" and computer == "scissors") or \
(you == "paper" and computer == "rock") or \
(you == "scissors" and computer == "paper"):
print("You win! 🎉")
else:
print("Computer wins! 🤖")
🔐
Project 5: Password Strength Checker
Project
Finish the check function so it returns "Strong" when a password is at least 8 characters long, otherwise "Too short". Then test it with your own ideas.
def check(password):
if len(password) >= 8:
return "Strong 💪"
else:
return "Too short 😬"
pw = input("Choose a password: ")
print(check(pw))
🌟
Project 6: Free Build — Your Idea!
Open-Ended
You're a programmer now — build whatever you want! A story generator, a dice roller, a tip calculator, a times-table printer... The blank canvas is yours. 🎨