# hangman.py import random def get_secret_word(word_file="/usr/share/dict/words"): with open(word_file) as f: good_words = [] for i in f: i = i.strip() if len(i) <= 6: continue if not i.isalpha(): continue if i[0].isupper(): continue good_words.append(i) return random.choice(good_words) def get_masked_word(word_file): mask_word="*" * len(word_file) return mask_word def type_guess_word(word_file, guess_word, guessed_line): if guess_word in word_file: x = 0 for i in word_file: if i == guess_word: guessed_line = guessed_line [0:x] + guess_word + guessed_line[x+1:] x = x+1 else: print("\n\033[1;31;40m Pudlo\n\033[1") return guessed_line def user_input(input=input): letter = input(" Podaje litere:\n\033[1") return letter def n_main(): print ("Welcome.") s_word =(get_secret_word()) guessed_line=(get_masked_word(s_word)) print(get_masked_word(s_word)) a =True tries=10 guess_word_list = [] while a: if guessed_line == s_word: print("\n\033[1;33;40m Gratulacje. Wygrales!\033[1") break print("\n\033[1;31;40m Pozostalo prob: {}\033[1".format(tries)) guess_word = user_input() if guess_word in guess_word_list: print("\n\033[1;31;40m Podano wczesniej.\033[1") continue if guess_word.isdigit(): print("\n\033[1;31;40m Cyfry sa niedozwolone!\033[1") continue if len(guess_word) != 1: print("\n\033[1;31;40m Dopusczalne tylko pojedyncze znaki.\n\033[1") continue guess_word_list.append(guess_word) guessed_line = type_guess_word(s_word, guess_word,guessed_line) print (guessed_line) print("\n\033[1;32;40m Podane litery: {}\033[1".format(guess_word_list)) tries = tries-1 if (tries < 1): a= False print("\n\033[1;30;47m Nieodgadniete slowo: {} \n\n\033[1".format(s_word)) if __name__ == "__main__": n_main()