extraño mientras el comportamiento de la declaración?

No puedo entender por qué las siguientes afirmaciones no funcionan.

randomKey = random.choice(list(topic.keys()))
randomValue = random.choice(topic[randomKey])

current = "-" * len(randomValue) 
while current != randomValue: 
   (statements)
else:
   (statements)

Sin embargo, si modifico la 1ª línea a

while current == randomValue:

la declaración después de 'else' se ejecuta correctamente. De lo contrario, la instrucción después de 'else' no se ejecuta. ¿Alguna idea de por qué puede estar causando el extraño comportamiento? Se ha excluido el código completo, ya que se ejecutará a través de toda esta página.

Respuestas a la pregunta(2)

Su respuesta a la pregunta