Ponieważ w pierwszym i drugim przykładzie konstrukcja warunku jest inna.
Na początku programu, zanim sprawdzony zostanie warunek przed pierwszą iteracją pętli, zmienna `odpowiedz` będzie zainicjalizowana domyślną wartością - będzie to pusty string.
Zatem pierwszy przykład, rozłożony na język polski, będzie wyglądał tak:
"jeśli `odpowiedz` == "Nie", wykonaj kolejną (pierwszą) iterację". Ten warunek jest fałszywy - `odpowiedz` nie jest równa "Nie", bo string jest pusty na tym etapie.
Drugi przykład:
"jeśli `odpowiedz` != "Tak", wykonaj kolejną (pierwszą) iterację". Ten warunek jest prawdziwy - pusty string nie jest tym samym co "Tak".