Amazing-Python-Scripts

Форк
0
66 строк · 2.0 Кб
1
import random
2
from words import words
3
from hangman_visual import lives_visual_dict
4
import string
5

6

7
def get_valid_word(words):
8
    # Randomly choose a word for the given list
9
    word = random.choice(words)
10
    while '-' in word or ' ' in word:
11
        word = random.choice(words)
12

13
    # Return the word in uppercase
14
    return word.upper()
15

16

17
def hangman():
18
    word = get_valid_word(words)
19
    # Alphabets in the word
20
    word_letters = set(word)
21
    alphabet = set(string.ascii_uppercase)
22
    # Letters guessed by the user
23
    used_letters = set()
24

25
    lives = 7
26

27
    # Get user input
28
    while len(word_letters) > 0 and lives > 0:
29
        print('You have', lives, 'lives left, and you have used these letters: ', ' '.join(
30
            used_letters))          # Join the used letters from the list
31

32
        # Display what current word is for each guess
33
        word_list = [
34
            letter if letter in used_letters else '-' for letter in word]
35
        print(lives_visual_dict[lives])
36
        print('Current word: ', ' '.join(word_list))
37

38
        # Add the letter entered to the list
39
        user_letter = input('Guess a letter: ').upper()
40
        if user_letter in alphabet - used_letters:
41
            used_letters.add(user_letter)
42
            if user_letter in word_letters:
43
                word_letters.remove(user_letter)
44
                print('')
45

46
            else:
47
                # Decrease number of lives by 1
48
                lives = lives - 1
49
                print('\nYour letter,', user_letter, 'is not in the word.')
50

51
        elif user_letter in used_letters:
52
            print('\nYou have already used this letter. Guess another letter.')
53

54
        else:
55
            print('\nInvalid letter. Enter a valid letter.')
56

57
    # When number of lives is 0 or if the word is guessed
58
    if lives == 0:
59
        print(lives_visual_dict[lives])
60
        print('You died, sorry. The word was', word)
61
    else:
62
        print('YAY! You guessed the word correctly', word, '!!')
63

64

65
if __name__ == '__main__':
66
    hangman()
67

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.