BdW44222

04. Legendary Farming

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