-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.py
64 lines (48 loc) · 1.81 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
from replit import clear
import random
import hangman_words
#- Import the logo from hangman_art.py and print it at the start of the game.
from hangman_art import logo, stages
## print the header
print(logo)
#Update the word list to use the 'word_list' from hangman_words.py
# Choose a random word from the 'word_list'
chosen_word = random.choice(hangman_words.word_list)
word_length = len(chosen_word)]
## alternative way ##
# from hangman_words import word_list
# chosen_word = random.choice(word_list)
# define the game
end_of_game = False
lives = 6
# Create display presentation as [_ _ _ _]
display = []
for _ in range(word_length):
display += "_"
# Looping for guessing the letter
while not end_of_game:
guess = input("Guess a letter: ").lower()
clear()
# If the user has entered a letter they've already guessed, print the letter and let them know.
if guess in display:
print(f"You've already guessed '{guess}' before.")
#Check guessed letter
for position in range(word_length):
letter = chosen_word[position]
if letter == guess:
display[position] = letter
#Check if user is wrong. (lose 1 life, and print out the letter and let them know it's not in the word.)
if guess not in chosen_word:
print(f"'{guess}' is not in the word. You lose a life!")
lives -= 1
if lives == 0:
end_of_game = True
print(f"You lose. The correct answer is '{chosen_word}'.")
#Join all the elements in the list and turn it into a String.
print(f"{' '.join(display)}")
#Check if user has got all letters.
if "_" not in display:
end_of_game = True
print("You win.")
# Import the stages from hangman_art.py and this can lively show how many lives the hangman has.
print(stages[lives])