JustCaptain kod-buduschego
bb03bcdc780611e5fa808dc647b9a71eb07c292d
Перейти к файлу
Код
main.py
import random
import time

# global parametr
ALL_WORDS: list[dict] = [
    {"word": "капли"},
    {"word": "ручка"},
]
ATTEMPTS: int = 5
SECRET_ID_WORD: str | None = None
TRY_USER: list[str | None] = [None, None, None, None, None]


def info() -> None:
    words: list[str] = []
    for t in TRY_USER:
        if t is None:
            words.append("-")
        else:
            words.append(t)

    message: str = """
    #######
    |{}{}{}{}{}|
    #######
    ATTEMPTS: {}
    """.format(words[0], words[1], words[2], words[3], words[4], ATTEMPTS)
    print(message)


def game() -> None:
    global SECRET_ID_WORD, ATTEMPTS
    SECRET_ID_WORD = get_random()
    print("Cтарт игры")

    while ATTEMPTS > 0:
        user_input: str = input("Введите загаданное слово: ")
        status: bool = check_word(user_word=user_input)
        if status:
            print("Вы подели!\nУгадали слово! Поздравляем вас!")
            info()
            break
        else:
            ATTEMPTS -= 1
            info()


def get_random() -> str:
    return str(random.randint(a=0, b=len(ALL_WORDS) - 1))


def check_word(user_word: str) -> bool:
    if len(user_word) != 5:
        return False
    count: int = 0
    for index in range(5):
        if SECRET_ID_WORD:
            if ALL_WORDS[int(SECRET_ID_WORD)]["word"][index] == user_word[index]:
                global TRY_USER
                TRY_USER[index] = user_word[index]
                count += 1
    if count == 5:
        return True
    else:
        return False


if __name__ == "__main__":
    game()