#!/usr/bin/env python # coding: utf-8 # ## `Q10.`## # # ## `Devise a Python program to implement the Hangman Game.`## # ## ----------------------------------------------------------------------------------------------------------------------------- # **`Hangman`** is a paper and pencil guessing game for two or more players. One player thinks of a word, phrase or sentence and the other(s) tries to guess it by suggesting letters or numbers, within a certain number of guesses. # # The word to guess is represented by a row of dashes, representing each letter of the word. In most variants, proper nouns, such as names, places, and brands, are not allowed. Slang words, sometimes referred to as informal or shortened words, are also not allowed. # # If the guessing player suggests a letter which occurs in the word, the other player writes it in all its correct positions. If the suggested letter does not occur in the word, the other player draws one element of a hanged man stick figure as a tally mark. # # The player guessing the word may, at any time, attempt to guess the whole word. If the word is correct, the game is over and the guesser wins. Otherwise, the other player may choose to penalize the guesser by adding an element to the diagram. # # On the other hand, if the other player makes enough incorrect guesses to allow his opponent to complete the diagram, the game is also over, this time with the guesser losing. However, the guesser can also win by guessing all the letters or numbers that appears in the word, thereby completing the word, before the diagram is completed. # # lc # # The above image shows an example game of Hangman in progress. The underlined letters appear in the word in their correct places, while the crossed-out letters do not appear, and each crossed-out letter corresponds to one part of the drawing. In this case, the secret word is “hangman”. # ## ----------------------------------------------------------------------------------------------------------------------------- # **Approach to solve the game** # # In this game, we set a secret word. # The guesser first has to input his name, and then, will be asked to guess any alphabet. # If the random word contains that alphabet, it will be shown as the output (with correct placement) else the program will ask you to guess another alphabet. # Guesser will be given length_of_word+2 turns (can be changed accordingly) to guess the complete word. # If the guesser guesses all the letters in the word within the number of turns then he wins the game else loses the game. # ## ----------------------------------------------------------------------------------------------------------------------------- # In[1]: def play_hangman(): name = input("What is your name? ") print(f"Hello {name}, Time to play hangman!") print("Start guessing...") print("HINT: word is the name of a fruit\n") # here we set the secret word word = "apple" # creates an variable with an empty value guesses = "" # determine the number of turns turns = len(word) + 2 # Create a while loop # check if the turns are more than zero while turns > 0: # make a counter that starts with zero failed = 0 # for every character in secret_word for char in word: # see if the character is in the players guess if char in guesses: # print then out the character print(char) else: # if not found, print a dash print("_") # and increase the failed counter with one failed += 1 # if failed is equal to zero # print You Won if failed == 0: print("You won the game :-)") # exit the script break # ask the user go guess a character guess = input("Guess a character: ") # set the players guess to guesses guesses += guess # if the guess is not found in the secret word if guess not in word: # turns counter decreases with 1 turns -= 1 # print wrong print("Wrong guess") # how many turns are left print(f"You have {turns} more guesses") # if the turns are equal to zero if turns == 0: # print "You Loose" print("You lost the game :-(") if __name__ == "__main__": play_hangman()