Je mag een getal raden vanaf 1 tot en met 100. Weinig kans dat je onmiddellijk correct gokt. Om het aantal pogingen te minimaliseren wordt bij elke gok een hint gegeven. Ofwel is de hint hoger ofwel is de hint lager. Het helpt je om het zoekdomein te verkleinen.
Stel dat je het getal 18 moet raden. Een eerste gok is 73. Je krijgt onmiddellijk de tip lager. Nu weet je dat je zoektocht beperkt wordt tot het interval $$[1,72]$$. Je gokt 9 en krijgt de hint hoger. Je zoektocht wordt opnieuw beperkt, nu tot het interval $$[10,72]$$. Dit gaat zo door tot je uiteindelijk correct gokt.
Gebruik in je code zeker volgende twee regels zodat steeds dezelfde willekeurige getallen gegenereerd worden:
import random
random.seed(1)
Zorg voor een nette uitvoer. De hint zelf (hoger of lager) hoef je niet te tonen.
[1,100] --> computer gokt 73
[1,72] --> computer gokt 9
[10,72] --> computer gokt 26
[10,25] --> computer gokt 13
[14,25] --> computer gokt 21
[14,20] --> computer gokt 20
[14,19] --> computer gokt 17
[18,19] --> computer gokt 19
[18,18] --> computer gokt 18
computer had 9 pogingen nodig om het getal 18 te raden.
Naar oefening 7.8 uit De programmeursleerling, Pieter Spronck.