Boa tarde!
Obrigado pelo elogio, me deixa bastante feliz saber que estou conseguindo progredir e produzir aplicações avançadas e complexas. Mas eu percebi que estava exagerando muito nas soluções Esssa abordagens exigem bastante tempo em um problema que pede somente para implementar funções em listas e tuplas. Eu estava criando um aplicativo para resolver um problema de Tupla, entende? Então eu já decidi que nos próximos exercícios eu tentarei criar apenas o que é exigido, acredito que ficaria melhor para o meu aprendizado (e para a correção dos senhores também ksksk.)
Bem, respondendo ao senhor, eu pensei que para procurar um nome incompleto, com o conhecimento que eu atualmente tenho, eu tentaria separar o nome que o usuário enviou em uma lista, utilizando a função .splice(). Separada a lista, eu iria comparar essa lista contendo as letras do usuario_nome (variável que armazena essa lista) com cada nome da lista de equipes usando o laço for. A cada letra certa, eu adicionaria um hit_rate, que quanto maior o número, então maior as chances de ser aquela equipe. Então:
for equipe_iteradora in lista_equipe:
for letra_iteradora in equipe_iteradora.splice():
if letra_iteradora in usuario_nome:
hit_rate += 1
Depois multiplica o hit_rate por 100 e dividiria pelo len (usuario_nome), contendo a probabilidade de ser aquela palavra. Se der mais que 70%, é perguntado ao usuário se ele queria escrever tal equipe.
Eu sei, ficou um pouco bagunçado, não sei se expliquei muito bem a lógica. Eu tentaria desse modo.