Example 1: python hangman
#first i have to say, i didn't develope this all by myself. I tried, but with the "display_hangman" function i needed help.
import random
word_list = ["insert", "your", "words", "in", "this", "python", "list"]
def get_word(word_list):
word = random.choice(word_list)
return word.upper()
def play(word):
word_completion = "_" * len(word)
guessed = False
guessed_letters = []
guessed_words = []
tries = 6
print("Let's play Hangman")
print(display_hangman(tries))
print(word_completion)
print("\n")
while not guessed and tries > 0:
guess = input("guess a letter or word: ").upper()
if len(guess) == 1 and guess.isalpha():
if guess in guessed_letters:
print("you already tried", guess, "!")
elif guess not in word:
print(guess, "isn't in the word :(")
tries -= 1
guessed_letters.append(guess)
else:
print("Nice one,", guess, "is in the word!")
guessed_letters.append(guess)
word_as_list = list(word_completion)
indices = [i for i, letter in enumerate(word) if letter == guess]
for index in indices:
word_as_list[index] = guess
word_completion = "".join(word_as_list)
if "_" not in word_completion:
guessed = True
elif len(guess) == len(word) and guess.isalpha():
if guess in guessed_words:
print("You already tried ", guess, "!")
elif guess != word:
print(guess, " ist nicht das Wort :(")
tries -= 1
guessed_words.append(guess)
else:
guessed = True
word_completion = word
else:
print("invalid input")
print(display_hangman(tries))
print(word_completion)
print("\n")
if guessed:
print("Good Job, you guessed the word!")
else:
print("I'm sorry, but you ran out of tries. The word was " + word + ". Maybe next time!")
def display_hangman(tries):
stages = [ """
--------
| |
| O
| \\|/
| |
| / \\
-
""",
"""
--------
| |
| O
| \\|/
| |
| /
-
""",
"""
--------
| |
| O
| \\|/
| |
|
-
""",
"""
--------
| |
| O
| \\|
| |
|
-
""",
"""
--------
| |
| O
| |
| |
|
-
""",
"""
--------
| |
| O
|
|
|
-
""",
"""
--------
| |
|
|
|
|
-
"""
]
return stages[tries]
def main():
word = get_word(word_list)
play(word)
while input("Again? (Y/N) ").upper() == "Y":
word = get_word(word_list)
play(word)
if __name__ == "__main__":
main()
Example 2: hangman python
# i know its very messy but it was my first try to make something with python ~regards vga
import random
words = ['tree', 'mango', 'coding', 'human', 'python', 'java',
'hangman', 'amazon', 'help', 'football', 'cricket', 'direction', 'dress', 'apology', 'driver', 'ship', 'pilot']
guess = words[random.randint(0, len(words)-1)].upper()
display = []
for x in guess:
display.append("_")
print("*** GAME STARTED ****")
print("")
print("Guess the word ! ", end=" ")
indexes = []
limbs = 6
userWon = False
userLost = False
guessedLetters = []
def start(word, indexes, display, limbs, userWon, userLost, guessedLetters):
chance = False # to stop recursion
wrong_guess = False
word_found = "" # change it to True or False based on word found in the word array
if userLost == False:
if len(indexes) > 0: # check on recursion if user entered any correct letter
for val in indexes:
# loop to change "_" with the correct letter in array
display[val] = word[val]
if len(guessedLetters) > 0:
# display how many limbs left
print("You have ", limbs, " chances left")
print("")
print("Wrong Guesses", guessedLetters)
print("")
for dash in display:
# print the display of "_" or the correct letter in the array
print(dash, end=" ")
print("")
print("")
user_guessed = input(
"Guess by entering a letter or the complete word to win!: ").upper()
if len(user_guessed) == 1: # if user entered only a letter
word_found = False
for i in range(len(word)): # to get the index of word array
if(word[i] == user_guessed): # match every single letter
if i in indexes: # if user already guessed correct letter
print("You already guessed the letter ", word[i])
chance = True
word_found = True
break
else:
indexes.append(i)
print("Nice guess it was ", word[i])
word_found = True
elif len(user_guessed) > 1: # if used tried to guess by a word
if(word == user_guessed):
print("Woah luck is on your side, You won !")
print("The correct word was ", word)
userWon = True
else:
wrong_guess = True
if user_guessed in guessedLetters: # if user guessed wrong again with the same word/letter
print("You already tried ", user_guessed)
chance = True
elif wrong_guess == True or word_found == False: # when user guessed wrong reduce limbs
guessedLetters.append(user_guessed)
print("Eh, Wrong guess")
limbs -= 1
if limbs == 0:
userLost = True
else: # when limbs are not 0 user can still play with chance = true
chance = True
if chance == True:
start(word, indexes, display, limbs,
userWon, userLost, guessedLetters)
chance = False # to stop recursion :X aryan
elif len(indexes) > 0 and userWon == False and userLost == False and chance == False:
if len(indexes) == len(word): # if user guessed all letters
print("Woah, You won ! :)")
print("The correct word was ", word)
else:
start(word, indexes, display, limbs,
userWon, userLost, guessedLetters)
elif userLost == True: # all limbs are 0 so user lost
print("You have ", limbs, " chances left")
print("Sorry, You lost :(")
print("The correct word was ", word)
start(guess, indexes, display, limbs, userWon, userLost, guessedLetters)
Example 3: Write the program to implement Hangman game.
#This game has pre-specified input
import time
name = input("What is your name? ")
print("Hello, " + name, "Time to play hangman!")
print("")
time.sleep(1)
print("Start guessing...")
time.sleep(0.5)
word = "secret"
guesses = ''
turns = 10
while turns > 0:
failed = 0
for char in word:
if char in guesses:
print(char)
else:
print("_")
failed += 1
if failed == 0:
print("You won")
break
print('')
guess = input("guess a character:")
guesses += guess
if guess not in word:
turns -= 1
print("Wrong")
print("You have", + turns, 'more guesses')
if turns == 0:
print("You Lose")