for kaç tur döneceğini baştan bilir. Bazen bilemezsin: "sayı bitene kadar", "duvara gelene kadar". while bir soru sorar ve cevap doğru kaldıkça dönmeye devam eder.
steps = 0while key > 1:key = key // 2steps += 1return steps
// tam bölmedir: küsuratı atar (7 // 2 3'tür). Bu döngü sayıyı her turda yarıya indirir ve kaç turda 1'e düştüğünü sayar.Her while için kendine iki soru sor: döngünün içinde koşulu değiştiren bir şey var mı, ve döngü hiç dönmezse cevabım doğru mu? İkincisi çoğu zaman 0 ya da boş liste gibi uç girdilerde ortaya çıkar.