Pessoal, com os conhecimento até aqui, tentei avançar para fazer aquele joguinho que fez sucesso há um tempo atrás, o Termoo.
Consiste em basicamente adivinhar uma palavra de 5 letras, mas você tem que chutar a palavra completa e ele retorna: 1- Letras que estão na posição correta 2- Letras que tem na palavra mas não estão na posição correta 3- Em branco espaços que não estão na palavra.
Fiz 3 variáveis para as palavras: palavra_secreta: que vem de uma lista txt que fiz. palavra_escolhida: que o jogador digitou palavra_verificada: que é a lista que informa a cada rodada as letras se estão no local correto.
No código, para letras que estão na palavra, mas estão no local errado eu coloquei um * junto com a letra, mas agora estou com dificuldade de conferir se a pessoa acertou.
Eu fiz um tratamento para que não poudesse ter palavras diferentes de 5 letras e nem que não estivesse na lista:
def aceita_palavra(palavra_escolhida,lista_palavras):
    if len(palavra_escolhida.strip()) != 5:
        print("Palavra com 5 letras")
        return False
    elif lista_palavras.count(palavra_escolhida) == 0:
        print(palavra_escolhida)
        print("Palavra inválida")
        return False
    else:
        return TrueMas gostaria de saber como fazer esse tratamento para acentos e para números. O que teria que estudar para conseguir resolver esse problema?
Grato.
Segue o código completo:
import random
def jogo_principal():
    boas_vindas()
    palavra_secreta, lista_palavras = escolhe_palavra()
    total_tentativas = 0
    acertou = False
    while not total_tentativas == 8 and not acertou:
        palavra_escolhida = input("Digite uma palavra até 5 letras:").strip().upper()
        palavra_verificada = ["_" for letra in palavra_secreta]
        if aceita_palavra(palavra_escolhida, lista_palavras):
            analisa_palavra_escolhida(palavra_escolhida, palavra_secreta, palavra_verificada)
        else:
            continue
        acertou = verifica(palavra_verificada)
        if acertou:
            certo()
        total_tentativas += 1
        print("tentativa {} de {}".format(total_tentativas,8))
    if acertou:
        certo()
    else:
        errado()
        print("A palavra era {}:".format(palavra_secreta))
# Mensagem simples de boas vindas.
def boas_vindas():
    print("*********************************")
    print("*****Bem-vindo(a) ao Termooo*****")
    print("*********************************")
# Transforma arquivo de texto de palavras de 5 letras em lista.
def escolhe_palavra():
    arquivo = open("palavras5letras.txt", "r")
    lista_palavras = []
    for linha in arquivo:
        linha = linha.strip().upper()
        lista_palavras.append(linha)
    arquivo.close()
    palavra_secreta = lista_palavras[random.randrange(0, len(lista_palavras))].upper()
    return palavra_secreta, lista_palavras
#Analisa requisitos para a palvra
def aceita_palavra(palavra_escolhida,lista_palavras):
    if len(palavra_escolhida.strip()) != 5:
        print("Palavra com 5 letras")
        return False
    elif lista_palavras.count(palavra_escolhida) == 0:
        print(palavra_escolhida)
        print("Palavra inválida")
        return False
    else:
        return True
#Analisa a palavra escolhida
def analisa_palavra_escolhida(palavra_escolhida, palavra_secreta, palavra_verificada):
    index = 0
    for letra in palavra_escolhida:
        if palavra_escolhida[index] == palavra_secreta[index]:
            palavra_verificada[index] = palavra_secreta[index]
        elif palavra_secreta.count(palavra_escolhida[index]):
            palavra_verificada[index] = palavra_escolhida[index] + "*"
        index += 1
    print(palavra_verificada)
def verifica(palavra_verificada):
    index = 0
    letras_corretas = 0
    for index in range(0, len(palavra_verificada)):
        if palavra_verificada[index] != "_" and palavra_verificada[index].count("*") == 0:
            letras_corretas += 1
        if letras_corretas == len(palavra_verificada):
            return True
def certo():
    print("*********************************")
    print("********PALAVRA CORRETA**********")
    print("*********************************")
def errado():
    print("*********************************")
    print("********PALAVRA ERRADA**********")
    print("*********************************")
if (__name__ == "__main__"):
    jogo_principal()