Por que tenho que declarar a variável "existe" dentro de "WHILE"?
É o mesmo principio da função, só existe dentro da repetição?
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!
Por que tenho que declarar a variável "existe" dentro de "WHILE"?
É o mesmo principio da função, só existe dentro da repetição?
Exatamente essa ideia, como ela é declarada dentro do while, cada vez que a execução passa naquela linha o código entende que precisa alocar memória para a variável chamada existe e atribuir para ela o valor de false. É como se eu estivesse voltando o valor da variável para falso.
Essa é uma das formas de se fazer. Se você declarar a variável fora do while tem que lembrar de antes de percorrer novamente a lista de ingredientes para verificar se ele já existe de atribuir o valor para falso, caso contrário pode acontecer um erro lógico. O erro lógico será o lixo de memória de verdadeiro para a variável existe resultante do ingrediente inserido anteriormente.