When you travel in India, it’s important to carry some cash with you. Even though most shops there have card reader, many only accept Indian cards. That’s why I highly recommend you to carry some cash with you when you’re in India. Best way is to first change your currency into USD in your home country, then change the USD into Indian Rupees once you arrive in India.
The exchange rate is really bad in the airports. But if you’re directly flying to Lucknow, I’d recommend you to just exchange in the airport as Lucknow is not a very touristic city and doesn’t have many exchange offices in the city center. But if you’d arrive in New Delhi or other big cities initially, then you can consider to find an exchange office in the city center for a better rate.