Also don't know how to do a binary chop, but the book hasn't covered anything
>like that - it has just taught if, else and while,
>
>A binary chop is an algorithm. All you need is if/else and while.
The algorithm looks a bit like this:
while not found
determine the middle value between min and max
if value > target set max to value
if value < target set min to value
else found = True
the_number = int(input("Type in a number - I swear down I no look!^^ "))You
don't need to store the number since the human user can just remember it
print("But I asked the computer, and it reckons your number is...")
>
>guess = (random.randint(1, 100))You don't want to use random guesses - that
>could take a very long time!
while guess != the_number:
>
> hilo = input("\nWas I too high or too low? Write 'h' or 'l'.\n")
> if hilo == "h":
> print("\nToo high, well, in that case what about...\n")
> lower_guess = (random.randint(lowest, temp))This is almost right
>except you will be faster using the mid value rather than a random one.
And what happened in the shell:
>
>
>
>Hello & Welcome to 'Modified Guess My Number'!
>
>
>Think of a number between 1 and 100 & the computer has to guess it.
>Type in a number - I swear down I no look!^^ 30
>OK you wrote 30 but I no show the computer.
>
>
>But I asked the computer, and it reckons your number is...
>57
>
>
>Was I too high or too low? Write 'h' or 'l'.
>h
>
>
>Too high, well, in that case what about...
>
>
>10
>
>
>Was I too high or too low? Write 'h' or 'l'.
>l
>
>
>Too low, well, in that case what about...
>
>
>53
>
>
>Was I too high or too low? Write 'h' or 'l'.
>h
>
>
>Too high, well, in that case what about...
>
>
>51
>
>
>Was I too high or too low? Write 'h' or 'l'.
>hAs you can see its working, but just taking a lot of guesses.
You will speed it up dramatically if you calculate the mid
point rather than use random.
HTH
Alan G.
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor