Book a free demo

Python Studio ยท project 18 of 18 ยท premium, free for now

Capstone: the smart guessing bot

Write guesses_needed(secret): start with low = 1 and high = 100, always guess the middle (low + high) // 2, count the guesses and return the count when the guess is right. Then print guesses_needed(73).

Learn

To find a secret number from 1 to 100, guessing the middle each time halves the possibilities, which is called binary search. After a guess you know whether to look higher or lower, so low and high close in on the answer. A bot using this never needs more than 7 guesses.

Your task

Write guesses_needed(secret): start with low = 1 and high = 100, always guess the middle (low + high) // 2, count the guesses and return the count when the guess is right. Then print guesses_needed(73).

Stretch challenge

Make the range 1 to 1000. How many guesses at most? Why only 3 more?

โ† Project: the scoreboard

Python
Press Run to see what your program prints.

More in this module

Keep going in Python Studio

Practise the idea

๐Ÿงฉ Play Number Sequences

Spot the pattern and type the next number. Add, multiply, squares, Fibonacci and more.

Play now

FAQ

Capstone: the smart guessing bot: common questions

I am stuck. What can I do?

Press Hint for a nudge, read the message next to each goal, and compare your code with the lesson text. If you still need it, Show answer reveals a model solution. Try to type it yourself rather than copy it.

Does my work get saved?

Your ticks and XP are saved in this browser, and in your account if you log in. The code you type is not stored on a server.

Start a conversation

Enjoying coding? Meet a teacher.

Tell us the learner's age, country and what they would like to build, and we will suggest a class. A parent or guardian can make the enquiry.

  • Tell us the learnerโ€™s age or grade and goals
  • Weโ€™ll suggest a suitable class or learning path
  • Weโ€™ll confirm format, timing and fees with a parent or guardian

For a childโ€™s class, please have a parent or guardian send the enquiry. Avoid sharing passwords or sensitive personal details.

Weโ€™ll use your details only to respond to this request.

Play it, don't just read it

Write some code right now

Free games that need no sign-up. Pick one and play for five minutes.

All free games โ†’
Chat on WhatsApp
Esc

Try