▶ TrainingGet Pro
All tools & lessonsAll toolsAllGet the appApp
Learning departments Music, Maths, Cookery, Programming and Art are open – explore →

Python lesson 22: Project: number guessing game

UK version. UK school years and UK spelling. · US 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 (Year 7, KS3), from Unit 7: Mini projects. It runs right here in your browser – nothing to install.

Time
50 minutes + 40 min homework
Year
Year 7, KS3 (ages 11–12)
You need
A computer or tablet, paper and a pencil
Marked
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 mark it straight away – and the final program of their own is judged by you, with our checklist below.

  1. Read what your child will learn together.
  2. 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.
  3. 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.
  4. Finish with the exit questions and the talk question: “Which part of your game took longest to get right?”
  5. 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

We are learning to 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

50 minutes in 5 parts
PartTimeHow it is checked
Starter5 minMarked by Classfern
Teaching input8 minRead, watch and talk
See it, then predict8 minMarked by Classfern
Put it in order, write it, fix it22 minMarked by Classfern
Plenary and exit ticket7 minMarked by Classfern + self-check

Checklist for the project (teacher or parent)

The questions in this lesson are marked by Classfern. The program your child makes at the end is judged by you, with this checklist – it is not marked 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 marked instantly.

Practice tests

All KS3 computing practice tests · All 24 Python lessons

Curriculum

National curriculum in England, computing, key stage 3: pupils should be taught to use 2 or more programming languages, at least one of which is textual, to solve a variety of computational problems; make appropriate use of data structures [for example, lists, tables or arrays]; design and develop modular programs that use procedures or functions; and to design, use and evaluate computational abstractions that model the state and behaviour of real-world problems and physical systems.

Contains public sector information licensed under the Open Government Licence v3.0.

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.