Staying Healthy at Altitude
Ascend to nearly 4000 meters direct from the coast and you run a real risk of getting soroche (altitude sickness). Plan on spending some time in elevation stops such as Arequipa (2350m) or Cuzco (3326m) first to acclimatize, or take it very easy after arriving in Puno. Higher-end hotels (and even some buses) offer oxygen, but this is a temporary fix; your body still needs to acclimatize at its own pace.
High altitude makes for extreme weather conditions. Nights get especially cold, so check if your hotel provides heating. During the winter months of June to August (the tourist high season), temperatures can drop well below freezing. Meanwhile, days are very hot and sunburn is a common problem.