Hangman Game in Python
Hangman is a word game in which computer will randomly select a word from the dictionary and player has to guess it correctly in given number of turns. The word to be guessed is represented by row of stars. If the guessed letter is present is word, script will automatically be placed to correct places.
Rules to guess the word :
- Input single letter in one turn.
- Don’t use repeated letters.
- Turns will be decremented after every guess.
This is the text file used inside the code words.txt, which contains 50,000 English words.
Module needed :
import random
Below is the implementation :
# Python program to implement Hangman game # Importing random module import random # Function to randomly select # a word from dictionary def get_word(): # Path to the text file with open('/Users/Admin/Desktop/words.txt', 'r') as f: # Reads each word after splitting words1 = f.read().splitlines() # Returns any random word return random.choice(words1) myword = get_word() # Function prints row of # stars in place of words for i in myword: print("*", end = " ") # Calculating length of word l = len(myword) print("\nWord has %d letters" %l) # Check if entered letter is correct def check(myword, your_word, guess1): status = '' matches = 0 for letter in myword: if letter in your_word: status += letter else: status += '*' if letter == guess1: matches += 1 if matches > 1: print(matches, guess1) elif matches == 1: print(guess1) return status # Main Game function def game(): guess = 0 guessed = False your_word = [] turns = len(myword) + 1 turns1 = turns print("Total turns: ", turns) while guess < turns1: guess1 = input("Enter your guess: ") # Decrementing turn # after every guess turns -= 1 # Print turns left print("Turns left", turns) # If letter is already guessed if guess1 in your_word: print("You already guessed") elif len(guess1) == 1: # Appending the letters # on their place your_word.append(guess1) result = check(myword, your_word, guess1) if result == myword: guessed = True print("You won " + name) print(myword) else: print(result) else: print("Invalid entry") guess += 1 if guess == turns1: print("Word is:") print(myword) # Driver Code game() |
Output :
* * * * * Word has 5 letters Total turns: 11 Enter your guess: a Turns left 10 ********** Enter your guess: i Turns left 9 i **i**i**** Enter your guess: s Turns left 8 s **i**i**ss Enter your guess: r Turns left 7 **i**i**ss Enter your guess: h Turns left 6 **i**i**ss Enter your guess: e Turns left 5 e **i**i*ess Enter your guess: o Turns left 4 **i**i*ess Enter your guess: u Turns left 3 u *ui**i*ess Enter your guess: t Turns left 2 t *ui*ti*ess Enter your guess: n Turns left 1 n *ui*tiness Enter your guess: l Turns left 0 l *uiltiness Word is: guiltiness
Recommended Posts:
- Hangman Game in Python
- Mastermind Game using Python
- 21 Number game in Python
- Color game using Tkinter in Python
- Python | Pokémon Training Game
- Python | Catching the ball game
- Number guessing game in Python
- Python | Simple FLAMES game using Tkinter
- Python program for word guessing game
- Conway's Game Of Life (Python Implementation)
- Introduction to pyglet library for game development in Python
- Python implementation of automatic Tic Tac Toe game using random number
- Python | Program to implement simple FLAMES game
- Python | Program to implement Jumbled word game
- Python | Program to implement Rock paper scissor game
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

