## Example 7: Guess a chosen letter in the alphabet

We want to design a robot that can choose a lower case letter from the alphabet randomly. Then the user needs to guess which letter the robot has chosen. Like this:

```Please guess my chosen letter: g
You are wrong! Try again!
Please guess my chosen letter: k
Great! You are right!
```

Solution with while loop. The event ending the loop is having guessed the right letter.

```#02Loops example_07 GuessLetter.py

import random

alphabet = 'abcdefghijklmnopqrstuvwxyz'     #Initialize the alphabet
answer = random.choice(alphabet) 	    #Pick up a letter randomly
guess = raw_input('Please guess my letter: ') #Ask the user to guess

while guess != answer:	 #If the user's answer is not right, repeat the statements
print('You are wrong! Try again!')
guess = raw_input('Please guess my letter: ')

```

To help the user guess the right answer faster, we add a hint when the guess is wrong. The following is the revised code giving a hint:

```# 02Loops example_07 GuessLetterWithHint.py
# with hint on whether guessed letter is too high ot too low

import random

alphabet = 'abcdefghijklmnopqrstuvwxyz'     #Initialize the alphabet
answer = random.choice(alphabet) 	    #Pick up a letter randomly
guess = raw_input('Please guess my letter: ') #Ask the user to guess

while guess != answer:	 #If the user's answer is not right, repeat the statements
if guess > answer:     #If the user抯 answer is not right, provide hints.
print('My letter is before your guess in the alphabet')
else:
print('My letter is after your guess in the alphabet')
guess = raw_input('Please guess my letter: ')

```

This code above is an example of what is known as binary search.