Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Loop while simples

Fiz esse loop que verifica a escolha do usuário (menos linhas possíveis e fácil de entender) LoopA minha dúvida é: esse código infringe alguma boa prática?

1 resposta
solução!

Seu código parece estar correto em termos de lógica e eficácia. Ele usa um loop para garantir que o usuário forneça um valor válido para o nível de dificuldade, e isso é uma abordagem comum em situações em que você precisa validar a entrada do usuário.

No entanto, aqui estão algumas sugestões para melhorar ainda mais:

  1. Indentação: Certifique-se de que a indentação do seu código esteja correta. A palavra-chave While deve começar com "W" maiúsculo, e a indentação deve estar correta para que o Python possa entender corretamente a estrutura do loop.

  2. Mensagem de entrada clara: A mensagem de entrada no segundo input pode ser mais clara. Em vez de "escolha apenas 1, 2 ou 3", você pode fornecer uma mensagem mais específica, como "Por favor, escolha um nível de dificuldade válido: 1, 2 ou 3."

  3. Validação adicional: Se desejar, você pode adicionar uma validação adicional para garantir que o usuário insira um valor numérico na primeira entrada. Isso pode evitar erros caso o usuário insira algo que não seja um número.

Aqui está uma versão modificada do seu código com essas sugestões:

nivel_de_dificuldade = input("Escolha o nível: ")

# Validar se a entrada é um número
while not nivel_de_dificuldade.isdigit():
    nivel_de_dificuldade = input("Por favor, insira um número para o nível de dificuldade: ")

nivel_de_dificuldade = int(nivel_de_dificuldade)

# Validar se o número está dentro do intervalo desejado
while nivel_de_dificuldade not in [1, 2, 3]:
    nivel_de_dificuldade = int(input("Por favor, escolha apenas 1, 2 ou 3: "))

Essas sugestões são principalmente para melhorar a experiência do usuário e tornar o código mais robusto, mas o seu código original também atende ao propósito básico de garantir uma entrada válida.