Hangman Game In Python

By | September 28, 2021
Hangman Game In Python

Here in this program, we will code for Hangman game in python. Hangman is a game in which the computer provides a number of blank spaces to the user to fill those blank spaces with letters.

Apparently, Hangman is a paper and pencil guessing game like tic-tac-toe. The game can be played between two or more than two persons, in this game One player thinks of a word and the other tries to guess it by suggesting letters. Here the player gets 2x numbers of chances where x is the total length of the word to guess.

Vamware

Hangman Game In Python

Steps to follow

  • Here the computer will think a word and the user has to guess it.
  • First, we let the user know the total length of the word that the computer has picked to guess
  • Then we ask the user to enter an appropriate letter.
  • The user will get only twice the changes as the length of the word, if the word is of 3 letters then the user will only get 6 chances to enter the letter.
  • After each guess will the program will tell the user whether the entered letter is right or wrong.
  • If the user guesses the word correctly before he loses his all chances then the user will win the game.

Function using in the Program

Function Name Description
hangman_game(string) this function will act as the main function of the program and contain all the logics and functions,

this function accepts an argument ‘word’ which is a random word chosen by the computer to and the user have to guess the word.

select_word() this function will randomly select a word that will pass as an argument to the hangman_game().
guessed_word(string,list) this function accepts the word as a string and the user guessed letter as a list and add the guessed letter in the blanks if the letter presents in the word
available_letters(list) this function accepts the list of guessed letters and tells you which letters you can guess now. This function helps the user to track which letter he can guess.
is_gussed(string, list) This function accepts the word as a string and the guessed letters as a list and calculates whether the entered letter had been already guessed or not. 
import random
def select_word():
    words_in_computer_memory = ['magazine','stars','computer','python','organisation']
    word = random.choice(words_in_computer_memory)
    return word
def is_gussed(word, guessed_letter_list):
    count=0
    for letters in word:
        if letters in guessed_letter_list:
            count+=1
    if count==len(word):
        return True
    else:
        return False
def guessed_word(word, guessed_letter_list): 
    string=""
    for key in word:
        if key in guessed_letter_list:
            string+=key
        else:
            string+="_ "
    return string
def available_letters(guessed_letter_list):
  
    string=""
    count=0
    s='abcdefghijklmnopqrstuvwxyz'
    for letter in s:
        if letter in guessed_letter_list:
            count+=1
        else:
            string+=letter
    return string
def hangman_game(word):  
    length=len(word)
    print('''------------------WELCOME TO HANGMAN GAME---------------------------
                                    O   
                                   /|\  
                                   / \  
        ''')
    print("The word you have to guess is of ",length, "letters long.")
    chances=2*len(word)
    i=0
    guessed_letter_list=[]
    while (chances!=0):     

        if word!=guessed_word(word, guessed_letter_list):
            print("You Got", chances, "Chances.")
            print("Letters you can enter should be from these ",available_letters(guessed_letter_list))
            guess=input("ENTER A LETTER ")
            print('\n'*50)

            guessInLowerCase = guess[0].lower()      
            if guessInLowerCase  in guessed_letter_list:
                print("SORRY! YOU HAVE GUSSED THIS LETTER ALREADY! ",guessed_word(word, guessed_letter_list))
            elif guessInLowerCase not in word: 
                print(" SORRY! THE LETTER IS NOT IN WORD",guessed_word(word, guessed_letter_list))
                chances-=1
            else:
                guessed_letter_list.append(guessInLowerCase)
                print("NICE YOU GUSESSED THE RIGHT LETTER! ",guessed_word(word, guessed_letter_list))
           
        elif word==guessed_word(word, guessed_letter_list):
            print("YOU WON!")
            break

    else:
        print('''
        ********************************************
   YOU LOSS!!
                                 O 
                                /|\  
                                / \  
     ******************************************''')
        print('The word was',word,)

word = select_word()
hangman_game(word)

People are also reading:

Leave a Reply

Your email address will not be published. Required fields are marked *