2
respostas

[Dúvida] Comparação entre numero e numero_secreto resulta false

Mesmo as variáveis estando como int, o resultado é false. O que está errado? Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas

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.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

E comparando o mesmo tipo mas com valores diferentes, também retorna False.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Então, só irá retornar True se as variáveis tiverem o mesmo valor e o mesmo tipo, é isso?