Como o amigo disse acima, creio que falte um pouco sua compreensão do While portanto:
O Loop While é diferente do For, devido que:
No for, o loop é executado com uma extensão definida:
For numero in range(0, 11):
print(numero)
Nesse código, o for faz uma iteração dez (10) vezes, de acordo com o range (alcance) definido.
O while é diferente, ele vai realizar a iteração "enquanto" a condição for verdadeira, ou seja:
acertou = False
enforcou = False
while (not enforcou and not acertou):
print('Iterando...')
Com esse código, o while vai entrar em um loop infinito, pois ambas as condições são verdadeiras, devido ao not inverter os valores, como você mesmo disse, portanto, o while é utilizado quando você não tem uma ideia exata de quantas vezes você vai ter que executar determinada ação.
Espero que tenha entendido.