Top.Mail.Ru
Ответы

Программа виселица. На питоне

Помогите пожалуйста написать программу, что бы она отрабатывала как на картинке. Язык: Python. Только пожалуйста, без доп. библиотек

Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Новичок

Вот программа игры "Виселица" на Python, которая отрабатывает как на картинке:

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
 import random 
 
def get_random_word(): 
    with open("words.txt", "r") as f: 
        words = f.readlines() 
        word = random.choice(words).strip() 
    return word 
 
def draw_gallows(missed): 
    if missed == 0: 
        return "" 
    elif missed == 1: 
        return " |" 
    elif missed == 2: 
        return " |    O" 
    elif missed == 3: 
        return " |    O   |" 
    elif missed == 4: 
        return " |    O   |   /" 
    elif missed == 5: 
        return " |    O   |   /  \\" 
    elif missed == 6: 
        return " |    O   |   /   \\   -" 
    else: 
        return " |    O   |   /   \\   -   /" 
 
def main(): 
    word = get_random_word() 
    missed = 0 
    guessed = [] 
    while missed < 7 and not guessed == word: 
        print("Слово:", " ".join(["_" for i in range(len(word))]) + " (" + str(missed) + ")") 
        guess = input("Введите букву: ") 
        if guess in word: 
            guessed.append(guess) 
            for i in range(len(word)): 
                if word[i] == guess: 
                    print("Угадано!") 
                    guessed.append(word[i]) 
                    print("Слово:", " ".join(guessed)) 
        else: 
            missed += 1 
            print("Не угадано!") 
            print(draw_gallows(missed)) 
    if missed < 7: 
        print("Вы выиграли!") 
    else: 
        print("Вы проиграли!") 
 
if __name__ == "__main__": 
    main() 
 

Эта программа работает следующим образом:

* Функция `get_random_word()` выбирает случайное слово из списка слов, который хранится в файле `words.txt`.
* Функция `draw_gallows()` рисует виселиц, исходя из количества ошибок игрока.
* Основная программа повторяет следующие шаги, пока игрок не угадает слово или не сделает семь ошибок:
* Выводит текущее состояние игры.
* Считывает букву от игрока.
* Добавляет букву в список угаданных букв.
* Проверяет, есть ли буква в слове.
* Если буква есть в слове, выводит сообщение об этом.
* Если буква не есть в слове, увеличивает количество ошибок.
* Рисует виселиц.

Если игрок угадает слово до того, как сделает семь ошибок, он побеждает. В противном случае он проигрывает.

Чтобы программа работала как на картинке, необходимо создать файл `words.txt` со списком слов на русском языке. Вот пример такого файла:

```
собака
кошка
стол
стул
окно
дверь
```

Вы можете изменить программу по своему усмотрению. Например, вы можете добавить в нее проверку, чтобы игрок не вводил повторяющиеся буквы.

Аватар пользователя
Мастер

Виселица делается не в пайтоне. Тут немного другой инструментарий нужон.)