You need to buy what’s known as an Oyster card, available from machines in all London Underground stations. You can sometimes buy them on the train to London so worth asking the ticket conductor. It’s £5 for the card and then you put as much credit on it as you want–the credit won’t expire so you can use it next time you’re in the city. You can ‘top up’ credit from machines in the station or sometimes from newsagents which display a sticker bearing the Oyster logo. Oyster cards can be used to pay for underground trains, overground trains, buses, trams and even some boats!
To find your way around London, use the journey planner feature on the Transport for London’s website.
The best app is widely agreed to CityMapper–it’s free!
You may wish to invest in a 16-25 railcard to receive 1/3 off train rides around the UK. Trains are a great way to see the country and are generally clean and comfortable.
If you’re making the trip between Edinburgh and London, taking a plane is often cheaper than a train–try budget airlines like EasyJet. Be warned though that you should factor in the time and money on airport transfer at each end. In London particularly, it can take almost an hour to get to the centre of town even if you take a shuttle train.