2
respostas

Resposta do bug da "senhaDoSistema"

O erro está no operador utilizado no comando "if (senha = senhaDoSistema){}". Ao invés do "=", responsável por atribuição de valor, deveria ser o "==", que compara o valor entre as variáveis/constantes ou "===", que compara valor e tipo de dado.

No caso do código disponibilizado, a variável "senha" recebe o valor da variável "senhaDoSistema", de forma equivocada, por isso o resultado da condicional será sempre True, independente da senha digitada pelo usuário.

2 respostas

Oi Joselia!

Você está certíssima na sua análise! No código fornecido, o problema está realmente no uso do operador de atribuição "=" dentro da estrutura condicional. Em vez de comparar os valores de "senha" e "senhaDoSistema", o código está atribuindo o valor de "senhaDoSistema" à variável "senha", o que faz com que a condição sempre seja verdadeira.

É super comum confundir o operador de atribuição com o de igualdade, quando estamos aprendendo a programar.

Abraços!

Obrigado Joselia,

Estava vendo que faltava um sinal de igual, porém não conseguia explicar de forma tão simples como você já o tinha descrito.Obrigado