Problem with gradually rotation

Hi guys I have a problem with a script on rotating a controlled object with the directional arrows. I want to turn (if I press the right arrow) to a maximum velocity of 100, and if I press the left arrow I want it to -100. However, the rotation must be gradual, so at each keystroke it must increase / decrease by 1.

Much appreciated!

public bool useInputAxis = true;
int rot;
void Update ()
{
if(useInputAxis)
{
if(Input.GetButtonDown(“Horizontal”) && Input.GetAxis(“Horizontal”) > 0)rot++;
if(Input.GetButtonDown(“Horizontal”) && Input.GetAxis(“Horizontal”) < 0)rot–;
}
else
{
if(Input.GetKeyDown(KeyCode.RightArrow))rot++;
if(Input.GetKeyDown(KeyCode.D))rot++;
if(Input.GetKeyDown(KeyCode.LeftArrow))rot–;
if(Input.GetKeyDown(KeyCode.A))rot–;
}
rot = Mathf.Clamp(rot,-100,100);
transform.localEulerAngles = new Vector3(transform.localEulerAngles.x,rot,transform.localEulerAngles.z);
}
Hope It Helps.