import random
from words import words
import string
def getValidWord(words):
selected=random.choice(words)
while '-' or ' ' in selected:
selected=random.choice(words)
return selected.upper()
def hang_tracker():
word=getValidWord(words)
Letters_word=set(word)
a_to_z=set(string.ascii_uppercase)
used_letters=set()
while len(Letters_word)>0:
print("You have used these letters:",' '.join(used_letters))
#current word
cur_word=[letter if letter in used_letters else '-' for letter in word]
print("Current word:",' '.join(cur_word))
user_letter=input("Guess a letter:").upper()
if user_letter in a_to_z - used_letters:
used_letters.add(user_letter)
if user_letter in Letters_word:
Letters_word.remove(user_letter)
elif user_letter in used_letters:
print(f'You have used {user_letter} letter before. Try again!')
else:
print("ınvalid character!")
hang_tracker()
Asked
Active
Viewed 22 times
0
-
It is a hangman game – harrison Feb 06 '22 at 14:25
-
1`'-' or ' ' in selected` doesn't do what you think it does. It's equivalent to `'-' or (' ' in selected)`. Since `'-'` is a truthy value, you have an infinite loop. – chepner Feb 06 '22 at 14:27