PP/hangman.py

77 lines
2.2 KiB
Python
Raw Normal View History

2019-03-08 21:49:22 +01:00
# 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()
2019-03-08 21:55:22 +01:00
if len(i) <= 6:
2019-03-08 21:49:22 +01:00
continue
2019-03-08 21:55:22 +01:00
if not i.isalpha():
continue
if i[0].isupper():
2019-03-08 21:49:22 +01:00
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:
2019-03-08 21:57:44 +01:00
print("Zly strzal")
2019-03-08 21:49:22 +01:00
print("-----------------------------")
return guessed_line
def user_input(input=input):
2019-03-08 21:57:44 +01:00
letter = input("Podaj litere: ")
2019-03-08 21:49:22 +01:00
return letter
def n_main():
2019-03-08 21:55:22 +01:00
print ("Witaj.")
2019-03-08 21:49:22 +01:00
s_word =(get_secret_word())
#print(s_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:
2019-03-08 21:58:58 +01:00
print("\nGratulacje, wygrales!")
2019-03-08 21:49:22 +01:00
break
print("----------------------------------------")
2019-03-08 21:59:46 +01:00
print("\nPozostalo prob = {}".format(tries))
2019-03-08 21:49:22 +01:00
guess_word = user_input()
if guess_word in guess_word_list:
print("already guess")
continue
if guess_word.isdigit():
2019-03-08 21:57:44 +01:00
print("Liczby nie sa dozwolone")
2019-03-08 21:49:22 +01:00
continue
if len(guess_word) != 1:
2019-03-08 21:55:22 +01:00
print("\n Dozwolone tylko pojedyncze litery!\n")
2019-03-08 21:49:22 +01:00
continue
guess_word_list.append(guess_word)
guessed_line = type_guess_word(s_word, guess_word,guessed_line)
print (guessed_line)
2019-03-08 21:55:22 +01:00
print ("Odgadnąłeś ={}".format(guess_word_list))
2019-03-08 21:49:22 +01:00
print("========================================")
tries = tries-1
if (tries < 1):
a= False
2019-03-08 21:57:44 +01:00
print ("\n Nie udalo ci sie. Chodziło o slowo {} \n\n".format(s_word))
2019-03-08 21:49:22 +01:00
if __name__ == "__main__":
n_main()