Advertisement
BdW44222

04. Legendary Farming

Aug 13th, 2021
665
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.59 KB | None | 0 0
  1. def material_filter(material_name, material_quantity, items_dict):
  2.     if material_name not in items_dict:
  3.         items_dict[material_name] = 0
  4.     items_dict[material_name] += material_quantity
  5.  
  6.  
  7.  
  8. legendary_item = ""
  9. key_items = {}
  10. junk_items = {}
  11.  
  12.  
  13. while legendary_item == "":
  14.     materials = input().split()
  15.  
  16.     for index in range(0, len(materials), 2):
  17.         quantity = int(materials[index])
  18.         material = materials[index + 1].lower()
  19.  
  20.         if material == "shards":
  21.             material_filter(material, quantity, key_items)
  22.  
  23.         elif material == "fragments":
  24.              material_filter(material, quantity, key_items)
  25.  
  26.         elif material == "motes":
  27.              material_filter(material, quantity, key_items)
  28.  
  29.         else:
  30.             material_filter(material, quantity, junk_items)
  31.  
  32.         if material == "shards" and key_items[material] >= 250:
  33.             key_items[material] -= 250
  34.             legendary_item = "Shadowmourne"
  35.             break
  36.  
  37.         elif material == "fragments" and key_items[material] >= 250:
  38.             key_items[material] -= 250
  39.             legendary_item = "Valanyr"
  40.             break
  41.  
  42.         elif material == "motes" and key_items[material] >= 250:
  43.             key_items[material] -= 250
  44.             legendary_item = "Dragonwrath"
  45.             break
  46.  
  47.  
  48. print(f"{legendary_item} obtained!")
  49.  
  50. for item,qty in sorted(key_items.items(), key=lambda kvp: (-kvp[1], kvp[0])):
  51.         print(f"{item}: {quantity}")
  52.  
  53. for jun,junk_qty in sorted(junk_items.items(), key=lambda kvp: kvp[0]):
  54.     print(f"{jun}: {junk_qty}")
  55.  
  56.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement