import random

HANGMAN_ASCII_ART = [
    '''
     +---+
         |
         |
         |
        ===''',
    '''
     +---+
     O   |
         |
         |
        ===''',
    '''
     +---+
     O   |
     |   |
         |
        ===''',
    '''
     +---+
     O   |
    /|   |
         |
        ===''',
    '''
     +---+
     O   |
    /|\\  |
         |
        ===''',
    '''
     +---+
     O   |
    /|\\  |
    /    |
        ===''',
    '''
     +---+
     O   |
    /|\\  |
    / \\  |
        ==='''
]

WORDS = ['Strawberry',' pear', 'berries', 'figs', 'guava', 'apple',' apricot', 'avocado', 'bananas','cactus', 'grapes', 'kiwi', 'lemon',' mandalina',' mango', 'melon', 'orange','pineapple',' pomegranate', 'cherries',' watermelon',' dates', 'peach', 'coconut']

def choose_word():
    return random.choice(WORDS)

def display_word(word, guessed_letters):
    displayed_word = ''
    for letter in word:
        if letter in guessed_letters:
            displayed_word += letter + ' '
        else:
            displayed_word += '_ '
    return displayed_word.strip()

def play_again():
    while True:
        choice = input("Do you want to play again? (Yes/No): ")
        if choice.lower() == 'yes':
            return True
        elif choice.lower() == 'no':
            return False
        else:
            print("Invalid choice. Please enter 'Yes' or 'No'.")

def main():
    print("Welcome to Hangman!\n Note: a Type Of Fruit ")
    while True:
        word = choose_word()
        guessed_letters = []
        incorrect_guesses = 0
        max_incorrect_guesses = len(HANGMAN_ASCII_ART) - 1

        print(HANGMAN_ASCII_ART[incorrect_guesses])
        print(display_word(word, guessed_letters))

        while True:
            guess = input("Guess a letter: ")
            if len(guess) != 1 or not guess.isalpha():
                print("Invalid input. Please enter a single letter.")
                continue

            guess = guess.lower()

            if guess in guessed_letters:
                print("You already guessed that letter.")
                continue

            guessed_letters.append(guess)

            if guess in word:
                print("Correct!")
                print(display_word(word, guessed_letters))
            else:
                incorrect_guesses += 1
                print("Incorrect!")
                print(HANGMAN_ASCII_ART[incorrect_guesses])
                print(display_word(word, guessed_letters))

            if incorrect_guesses == max_incorrect_guesses:
                print("You lost! The word was:", word)
                break

            if '_' not in display_word(word, guessed_letters):
                print("Congratulations! You guessed the word:", word)
                break

        if not play_again():
            break

if __name__ == '__main__':
    main()