En el código original no esta presente el error que se menciona en el enunciado. El único "error" que tiene es que vuelve a asignar a la variable porcentajeDescuento el valor 0 siendo que ya lo tenia inicialmente y no es necesario. Además en cuestión de rendimiento la respuesta inicial es mejor a la solución brindada por la actividad. (exceptuando por la asignación repetitiva del bloque else mencionada anteriormente)