bl00dt3ars

04. Legendary Farming (shiro.)

Jul 19th, 2021
250
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.54 KB | None | 0 0
  1. def print_remaining_shards(for_legendary, junk):
  2.     sorted_resources = sorted(for_legendary.items(), key=lambda r: (-r[1], r[0]))
  3.     sorted_junk = sorted(junk.items(), key=lambda j: j[0])
  4.  
  5.     for resource, qty in sorted_resources:
  6.         print(f"{resource}: {qty}")
  7.  
  8.     for junk, qty in sorted_junk:
  9.         print(f"{junk}: {qty}")
  10.  
  11.  
  12. resources = input().split()
  13.  
  14. for_legendary = {"shards": 0, "fragments": 0, "motes": 0}
  15. junk = {}
  16.  
  17. while True:
  18.     for i in range(0, len(resources), 2):
  19.         qty = int(resources[i])
  20.         item = resources[i + 1].lower()
  21.  
  22.         if item in for_legendary:
  23.             for_legendary[item] += qty
  24.         else:
  25.             if item not in junk:
  26.                 junk[item] = int(qty)
  27.             else:
  28.                 junk[item] += int(qty)
  29.  
  30.         for _ in for_legendary.keys():
  31.             if for_legendary["shards"] >= 250:
  32.                 for_legendary["shards"] -= 250
  33.                 print("Shadowmourne obtained!")
  34.                 print_remaining_shards(for_legendary, junk)
  35.                 exit()
  36.             elif for_legendary["fragments"] >= 250:
  37.                 for_legendary["fragments"] -= 250
  38.                 print("Valanyr obtained!")
  39.                 print_remaining_shards(for_legendary, junk)
  40.                 exit()
  41.             elif for_legendary["motes"] >= 250:
  42.                 for_legendary["motes"] -= 250
  43.                 print("Dragonwrath obtained!")
  44.                 print_remaining_shards(for_legendary, junk)
  45.                 exit()
  46.     resources = input().split()
Advertisement
Add Comment
Please, Sign In to add comment