Pharcyde
Pharcyde

Reputation: 57

How to a terminate a while loop?

I have this code that defines a word and I am making guesses of letters that form the actual word. It works perfectly, but I am unable to terminate the loop from taking in user input after I obtain the correct formation of letters. Does any one have an idea in terminating the loop?

word = "EVAPORATE"
guessed_word = "_" * len(word)
word = list(word)
guessed_word = list(guessed_word)
new_list = []
while True:
    guess_letter = input("Enter a guess: ")
    for index, letter in enumerate(word):
        if letter == guess_letter:
            guessed_word[index] = letter
    print(' '.join(guessed_word))

Upvotes: 0

Views: 221

Answers (4)

Bruno Vermeulen
Bruno Vermeulen

Reputation: 3465

This will work

word = "EVAPORATE"
word  = word.lower()
word = list(word)
guessed_word = "_" * len(word)
guessed_word = list(guessed_word)
new_list = []
while True:
    guess_letter = input("Enter a guess: ")
    for index, letter in enumerate(word):
        if letter == guess_letter:
            guessed_word[index] = letter
    print(' '.join(guessed_word))

    if '_' not in guessed_word:
        print('Congratulation!')
        break

Upvotes: 0

Prakash Timalsina
Prakash Timalsina

Reputation: 51

You can use break. For example...

n = 5
while n > 0:
    n -= 1
    if n == 2:
        break
    print(n)
print('Loop ended.')

Upvotes: -1

adamkwm
adamkwm

Reputation: 1173

You can simply change while True to while word != guessed_word, then it will stop after you obtain the correct answer.

Upvotes: 2

Ashwin Sankar
Ashwin Sankar

Reputation: 81

you should get to know about flow control statements being break, continue and pass. Look at break for this particular question

Upvotes: 0

Related Questions