The rupee weakened to its lowest in nearly a month, tracking a decline in domestic stocks as inflation surged and as oil prices climbed to their highest in nearly three weeks on supply fears from the prospect of more sanctions on Russia as the crisis in Ukraine deepens.