Python lesson 22: Project: number guessing game
US version. US grades and US spelling. · UK version of this lesson
Plan first: pick a secret number, ask for a guess, say too low or too high, repeat until right, then say how many tries. A complete 50-minute Python lesson for complete beginners (Grades 6–7), from Unit 7: Mini projects. It runs right here in your browser – nothing to install.
- Time
- 50 minutes + 40 min homework
- Grade
- Grades 6–7 (ages 11–12)
- You need
- A computer or tablet, paper and a pencil
- Graded
- Mostly instantly; the project with our checklist
For parents: how to use this lesson
You don't need to know Python yourself. The lesson explains each step on screen, the way Mr Babbage, our Head of Computing, likes it: a worked example first, then a go for your child. Code questions run your child's program in the browser and grade it straight away – and the final program of their own is judged by you, with our checklist below.
- Read what your child will learn together.
- Press Start the lesson below. Sit with your child for the teaching and the worked example (about 16 minutes): ask them to say what each line does.
- Let them do the practice on their own. When code goes wrong, the error message is a clue – let them read it out and try again before you help.
- Finish with the exit questions and the talk question: “Which part of your game took longest to get right?”
- Later that day or the next day: the homework (40 minutes), then a practice test.
Watch out for
- A for loop fits "until it is right". You don't know how many guesses: use while.
- One play-through is enough testing. Test every branch and the edges.
Miss Lovelace's tip for home: ask your child to explain one line of their program to you in their own words. If they can explain it, they understand it – and every error message is a clue, not a failure.
What your child will learn
Learning goal: plan a game in steps before coding.
Success looks like
- I can plan a game in steps before coding.
- I can combine random, while and if.
- I can test every branch of a game.
Key words
algorithm · plan · test · random
What to have ready
- A device with a web browser (the code runs in the browser – nothing to install)
- Paper for tracing
- A keyboard helps for typing code (a tablet or phone works too)
The big ideas (for the adult)
Plan first: pick a secret number, ask for a guess, say too low or too high, repeat until right, then say how many tries.
A while loop keeps asking; an if / elif / else gives the message; a counter counts the tries.
Test with guesses that are too low, too high, exactly right, and right first time.
Worked example
secret = 6
guess = int(input())
while guess != secret:
if guess < secret:
print("Too low")
else:
print("Too high")
guess = int(input())
print("Got it!")It prints:
Too low Got it!
The lesson, step by step
| Part | Time | How it is checked |
|---|---|---|
| Starter | 5 min | Graded by Classfern |
| Teaching input | 8 min | Read, watch and talk |
| See it, then predict | 8 min | Graded by Classfern |
| Put it in order, write it, fix it | 22 min | Graded by Classfern |
| Closure and exit ticket | 7 min | Graded by Classfern + self-check |
Checklist for the project (teacher or parent)
The questions in this lesson are graded by Classfern. The program your child makes at the end is judged by you, with this checklist – it is not graded by computer. For each line, choose the description that fits best.
- Planning: the steps were written down before coding
No plan → Some steps written → A clear plan that was followed - It works: the program does what the plan says
Does not run → Runs, with some bugs → Works for normal inputs → Works for normal and edge inputs - Testing: different inputs were tried, including edge cases
Not tested → Tested once → Several tests, including an edge case - Readable: clear variable names and helpful comments
Hard to follow → Mostly clear → Clear names and comments throughout
The lesson
It runs here on the page. No sign-up and no names – progress is kept only in this browser. Each visit picks a new mix of questions.
Homework
40 minutes: 7 questions – predict what code prints, write or fix a short program, and check the key ideas – then a short reflection. New questions every time, all graded instantly.
Practice tests
Curriculum
CSTA K–12 Computer Science Standards (2017), grades 6–8: 2-AP-13 – Decompose problems to help design, implement and review programs; 2-AP-17 – Systematically test and refine programs using a range of test cases.
The standard codes are CSTA's; the descriptions are our own words.
Our lessons and questions are our own. They are not written or endorsed by any government department, testing agency or exam board. Python is a registered trademark of the Python Software Foundation; Classfern is not affiliated with or endorsed by it.