@lalalpaPuse tu código dentro de una función:
def funcion():
texto = raw_input("Escribe un texto en minusculas: ")
for character in texto:
while character.isupper():
texto = raw_input("Escribe un texto en minusculas: ")
Cuando llamás a la función y la cadena que escribís está en minúsculas no hay problema, porque la condición del while no se cumple y no vuelve a pedir datos.
El problema aparece cuando la cadena cumple la condición del while.
Supongamos por ejemplo que la cadena introducida es "
Hola mundo". Con el for recorremos la variable y tomamos el primer carácter, en este caso "
H". La condición del while se cumple y se vuelve a pedir un valor al usuario, pero el problema está en que
el valor de la variable character NO CAMBIÓ, por lo tanto la condición se cumplirá siempre y volverá a pedir datos infinitamente.
Un saludo.