PythonRepetiçãodesafio

Jogo da senha

Jogos de adivinhação com feedback posicional são a base de lógicas usadas em sistemas de confirmação de senhas e autenticação em dois fatores. Esse padrão ensina a comparar strings caractere por caractere, algo essencial em validação de formulários e verificações de integridade de dados. Dominar a análise de posições evita erros comuns ao implementar funcionalidades como 'senha incorreta' com dicas.

O PROBLEMA

Gere uma senha de 4 dígitos aleatória. O usuário tem 10 tentativas. Informe dígitos corretos na posição certa e existentes na posição errada.

EXEMPLO

Senha: 4821
Tentativa: 1234 → 1 na posição certa, 2 no lugar errado

SOBRE O CONCEITO

O exercício exige percorrer a senha gerada (senha) e a tentativa do usuário (tentativa) usando um laço while com índice. Para cada posição, verifique se o dígito é igual: se sim, incrementa certos; senão, veja se o dígito da tentativa aparece em outra posição da senha com in – mas cuidado: in verifica existência, não posição. Erro comum é contar um dígito que já foi contado como certo na mesma posição (ex.: senha 1234, tentativa 1111 – deve contar 1 certo e 0 existentes, não 4 existentes). Para evitar, você pode marcar dígitos já verificados, mas como listas são proibidas, uma alternativa é usar str.replace() com contagem ou lógica com cópia da senha. O limite de tentativas é controlado por um contador no while, que para após 10 iterações.

RESOLUÇÃO

Mais exercícios de Repetição

PYR011I · IntermediárioJogo de adivinhaçãoPYR002B · BásicoContagem regressivaPYR005B · BásicoNúmeros paresPYR009B · BásicoMaior número da sequência
Ver todos os exercícios de Python