Caros, gostaria da opinião de vocês. meu código funciona conforme instruido na aula no entanto, ao colocar valores muito distantes do número secreto, ele aponta como sendo menor, quando na verdade é maior. alguma ideia/sugestão?
Caros, gostaria da opinião de vocês. meu código funciona conforme instruido na aula no entanto, ao colocar valores muito distantes do número secreto, ele aponta como sendo menor, quando na verdade é maior. alguma ideia/sugestão?
Olá Gustavo!
Pelo que você descreveu, parece que o problema pode estar na forma como você está comparando os valores no seu código. No código que foi apresentado na aula, temos as seguintes linhas:
maior = chute > numero_secreto
menor = chute < numero_secreto
Essas linhas estão verificando se o valor digitado pelo usuário é maior ou menor que o número secreto. Se o valor digitado for muito grande, a variável maior
será verdadeira e a variável menor
será falsa. Se o valor digitado for muito pequeno, a variável maior
será falsa e a variável menor
será verdadeira.
No entanto, se o valor digitado for igual ao número secreto, ambas as variáveis maior
e menor
serão falsas. Isso pode causar confusão se você estiver verificando essas variáveis em uma ordem específica.
Por exemplo, se você estiver verificando a variável menor
antes da variável maior
, e o valor digitado for muito grande, o programa irá informar que o valor é menor, quando na verdade é maior. Isso ocorre porque a condição menor
é falsa e, portanto, o programa passa para a próxima condição.
Para corrigir isso, você pode alterar a ordem em que verifica as variáveis, ou pode adicionar uma condição adicional para verificar se o valor digitado é igual ao número secreto. Aqui está um exemplo de como você pode fazer isso:
if (acertou):
print("Você acertou!")
elif (maior):
print("Você errou! O seu chute foi maior que o número secreto.")
elif (menor):
print("Você errou! O seu chute foi menor que o número secreto.")
else:
print("Ocorreu um erro inesperado.")
Neste exemplo, o programa verifica primeiro se o valor digitado é igual ao número secreto. Se não for, ele verifica se o valor é maior. Se ainda não for, ele verifica se o valor é menor. Se nenhuma dessas condições for verdadeira, ele imprime uma mensagem de erro.
Espero ter ajudado e bons estudos!
Cara, realmente era isso! estranho pensar que a ordem gere esse bug, mas que bom que eu me conultei no fórum kkkk valeu mesmo! abraço