Tenemos una propuesta de solución muy similar, por mi parte he considerado mejor crear una variable (var) para el límite de intentos, ya que resumiría el buscar los números colocados en el código, como el "3" y "4" que has usado en el while y el último if. De todas formas tu código es funcional y cumple con lo requerido.