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.
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
|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.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: