Hang Man In Python
Hey there! ๐ค In this tutorial, I will walk you through building the classic word-guessing game, "Hangman", using Python. Let's get started with the code!
First, we import the random module to randomly select a word from a list of words. Here's the code:
import random
# define a list of words to choose from
word_list = ["python", "programming", "computer", "algorithm", "software", "developer"]
# select a random word from the list
secret_word = random.choice(word_list)
We create a list of words to choose from and assign one of them to the variable secret_word
using the random.choice()
function.
Next, we initialize two more variables: a list to store the letters guessed by the user, and a variable to store the number of guesses remaining. Here's the code:
# create a list to store the letters guessed by the user
guessed_letters = []
# create a variable to store the number of guesses remaining
num_guesses = 6
We create an empty list called guessed_letters
to store the letters guessed by the user. The num_guesses
variable is set to 6, which means the user will have 6 chances to guess the word.
Now, we start a loop to prompt the user to guess letters. Here's the code:
# start a loop to prompt the user to guess letters
while num_guesses > 0:
# print the current state of the word
for letter in secret_word:
if letter in guessed_letters:
print(letter, end=" ")
else:
print("_", end=" ")
print()
# prompt the user to enter a guess
guess = input("Enter a letter: ")
The loop will continue until the user runs out of guesses or correctly guesses the word. Inside the loop, we use a for
loop to print the current state of the word. We check if each letter in the secret_word
is in the guessed_letters
list, and if so, we print the letter. If not, we print an underscore to represent a letter that hasn't been guessed yet. We then prompt the user to enter a guess using the input()
function.
We need to check if the guess is valid, i.e., if it is a single letter. Here's the code:
# check if the guess is valid
if len(guess) != 1 or not guess.isalpha():
print("Invalid guess. Please enter a single letter.")
continue
We use an if statement to check if the length of the guess is not 1 or if the guess is not an alphabetical letter. If either condition is true, we print an error message and use the continue statement to go back to the start of the loop and prompt the user to enter a new guess.
Next, we check if the guess is correct. Here's the code:
# check if the guess is correct
if guess in secret_word:
print("Correct!")
guessed_letters.append(guess)
else:
print("Incorrect.")
num_guesses -= 1
We use another if statement to check if the guess is in the secret_word
. If it is, we print a message telling the user that they guessed correctly and add the letter to the guessed_letters
list. If the guess is incorrect, we print a message telling the user that they guessed incorrectly and subtract 1 from the num_guesses
variable.
Finally, we check if the user has guessed all the letters in the word. Here's the code:
# check if the user has guessed all the letters
if set(guessed_letters) == set(secret_word):
print("Congratulations, you guessed the word!")
break
We use a set to check if the letters in the guessed_letters
list are the same as the letters in the secret_word
. If they are the same, we print a message telling the user that they guessed the word and use the break statement to exit the loop.
If the user runs out of guesses, we print the solution. Here's the code:
# if the user runs out of guesses, print the solution
if num_guesses == 0:
print("You ran out of guesses. The word was:", secret_word)
We use an if statement to check if the num_guesses variable is equal to 0. If it is, we print a message telling the user that they ran out of guesses and print the secret_word.
That's it! ๐ We've successfully built the "Hangman" game using Python. I hope this tutorial was helpful and easy to follow. Have fun playing "Hangman" with your friends and family!๐