Mesmo as variáveis estando como int, o resultado é false. O que está errado?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Mesmo as variáveis estando como int, o resultado é false. O que está errado?
Oi!
Parece que há um problema na comparação entre as variáveis numero e numero_secreto no código fornecido. Vamos analisar o código e tentar identificar o problema.
>>> numero == numero_secreto
False
chute = (str) '1'
1
numero = (int) 1
1
numero_secreto = (int) 42
Aqui, você está tentando comparar numero com numero_secreto, e o resultado é False. Parece que você está inicializando numero e numero_secreto após a comparação. Isso pode ser a causa do problema.
Tente reorganizar seu código da seguinte maneira:
# Inicialize as variáveis primeiro
numero = 1
numero_secreto = 42
# Faça a comparação
resultado = numero == numero_secreto
# Exiba o resultado
print(resultado)
Isso garante que as variáveis numero e numero_secreto sejam inicializadas antes de fazer a comparação. Se ainda assim o resultado for False, verifique se os valores atribuídos a numero e numero_secreto estão corretos.
Além disso, observe que você tentou converter a string '1' para um número inteiro, mas parece que isso foi feito incorretamente. Se você deseja que chute seja um número inteiro, você pode fazer o seguinte:
chute = int('1')
Obrigada pela resposta! Eu não identifiquei o motivo exatamente de não estar funcionando antes, então comecei de novo e coloquei minhas conclusões a seguir.
Pelo que testei aqui, a comparação com o operador == só retorna True quando o valor e o tipo da variável são idênticos. Ao comparar tipos diferentes, mesmo sendo o mesmo valor, retorna False.
E comparando o mesmo tipo mas com valores diferentes, também retorna False.
Então, só irá retornar True se as variáveis tiverem o mesmo valor e o mesmo tipo, é isso?