For Prague and if you have a bit of time, you could fly to Berlin and train from there. I go to Prague fairly frequently to visit family and the flight to Berlin, overnight stay in Berlin and train to Prague has sometimes worked out cheaper than direct flight to Prague.