Advertisement
andonyan

Legendary Farming

Mar 31st, 2020
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.37 KB | None | 0 0
  1. inventory = {'shards': 0, 'fragments': 0, 'motes': 0}
  2. keep_going = True
  3. while keep_going:
  4.     tokens = input().lower().split()
  5.     for i in range(0, len(tokens), 2):
  6.         value = int(tokens[i])
  7.         key = tokens[i + 1]
  8.         if key in inventory:
  9.             inventory[key] += value
  10.             if key == 'shards' and inventory[key] >= 250:
  11.                 inventory[key] -= 250
  12.                 keep_going = False
  13.                 print('Shadowmourne obtained!')
  14.                 key_materials = {k: inventory[k] for k in ['shards', 'fragments', 'motes']}
  15.                 for k, v in sorted(key_materials.items(), key=lambda x: (-x[1], x[0])):
  16.                     print(f'{k}: {v}')
  17.                 junk = {m: inventory[m] for m in inventory.keys() if m not in ['shards', 'fragments', 'motes']}
  18.                 if junk:
  19.                     for k, v in sorted(junk.items(), key=lambda x: (x[0])):
  20.                         print(f'{k}: {v}')
  21.                 break
  22.             elif key == 'fragments' and inventory[key] >= 250:
  23.                 inventory[key] -= 250
  24.                 keep_going = False
  25.                 print('Valanyr obtained!')
  26.                 key_materials = {k: inventory[k] for k in ['shards', 'fragments', 'motes']}
  27.                 for k, v in sorted(key_materials.items(), key=lambda x: (-x[1], x[0])):
  28.                     print(f'{k}: {v}')
  29.                 junk = {m: inventory[m] for m in inventory.keys() if m not in ['shards', 'fragments', 'motes']}
  30.                 if junk:
  31.                     for k, v in sorted(junk.items(), key=lambda x: (x[0])):
  32.                         print(f'{k}: {v}')
  33.                 break
  34.             elif key == 'motes' and inventory[key] >= 250:
  35.                 inventory[key] -= 250
  36.                 keep_going = False
  37.                 print('Dragonwrath obtained!')
  38.                 key_materials = {k: inventory[k] for k in ['shards', 'fragments', 'motes']}
  39.                 for k, v in sorted(key_materials.items(), key=lambda x: (-x[1], x[0])):
  40.                     print(f'{k}: {v}')
  41.                 junk = {m: inventory[m] for m in inventory.keys() if m not in ['shards', 'fragments', 'motes']}
  42.                 if junk:
  43.                     for k, v in sorted(junk.items(), key=lambda x: (x[0])):
  44.                         print(f'{k}: {v}')
  45.                 break
  46.         else:
  47.             inventory[key] = value
  48.             if key == 'shards' and inventory[key] >= 250:
  49.                 inventory[key] -= 250
  50.                 keep_going = False
  51.                 print('Shadowmourne obtained!')
  52.                 key_materials = {k: inventory[k] for k in ['shards', 'fragments', 'motes']}
  53.                 for k, v in sorted(key_materials.items(), key=lambda x: (-x[1], x[0])):
  54.                     print(f'{k}: {v}')
  55.                 junk = {m: inventory[m] for m in inventory.keys() if m not in ['shards', 'fragments', 'motes']}
  56.                 if junk:
  57.                     for k, v in sorted(junk.items(), key=lambda x: (x[0])):
  58.                         print(f'{k}: {v}')
  59.                 break
  60.             elif key == 'fragments' and inventory[key] >= 250:
  61.                 inventory[key] -= 250
  62.                 keep_going = False
  63.                 print('Valanyr obtained!')
  64.                 key_materials = {k: inventory[k] for k in ['shards', 'fragments', 'motes']}
  65.                 for k, v in sorted(key_materials.items(), key=lambda x: (-x[1], x[0])):
  66.                     print(f'{k}: {v}')
  67.                 junk = {m: inventory[m] for m in inventory.keys() if m not in ['shards', 'fragments', 'motes']}
  68.                 if junk:
  69.                     for k, v in sorted(junk.items(), key=lambda x: (x[0])):
  70.                         print(f'{k}: {v}')
  71.                 break
  72.             elif key == 'motes' and inventory[key] >= 250:
  73.                 inventory[key] -= 250
  74.                 keep_going = False
  75.                 print('Dragonwrath obtained!')
  76.                 key_materials = {k: inventory[k] for k in ['shards', 'fragments', 'motes']}
  77.                 for k, v in sorted(key_materials.items(), key=lambda x: (-x[1], x[0])):
  78.                     print(f'{k}: {v}')
  79.                 junk = {m: inventory[m] for m in inventory.keys() if m not in ['shards', 'fragments', 'motes']}
  80.                 if junk:
  81.                     for k, v in sorted(junk.items(), key=lambda x: (x[0])):
  82.                         print(f'{k}: {v}')
  83.                 break
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement