Advertisement
simeonshopov

Legendary Farming

Feb 4th, 2020
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.61 KB | None | 0 0
  1.  
  2. SEARCHED = ('shards', 'motes', 'fragments')
  3. PRICES = ('Shadowmourne', 'Dragonwrath', 'Valanyr')
  4. wanted = {}
  5. junk = {}
  6.  
  7.  
  8. def gather_stuff():
  9.     found = False
  10.     while True:
  11.         items = input().split()
  12.         for i in range(0, len(items), 2):
  13.             quantity = int(items[i])
  14.             item = items[i + 1].lower()
  15.             if item not in SEARCHED:
  16.                 if item in junk:
  17.                     junk[item] += quantity
  18.                 else:
  19.                     junk[item] = quantity
  20.             else:
  21.                 if item not in wanted:
  22.                     wanted[item] = quantity
  23.                 else:
  24.                     wanted[item] += quantity
  25.                 if wanted[item] >= 250:
  26.                     found = True
  27.                     break
  28.         if found:
  29.             break
  30.         # добавяне на търсен елемент със стойност 0 ако същият не е присъствал никъде във входа.
  31.         wanted.update({x: 0 for x in SEARCHED if x not in wanted})
  32.     return wanted, junk
  33.  
  34.  
  35. gather_stuff()
  36.  
  37.  
  38. winner_type = max(wanted, key=lambda k: wanted[k]) # връща ключа с най висока стойност
  39. wanted[winner_type] -= 250
  40. win_item = PRICES[SEARCHED.index(winner_type)] #спечелен предмет
  41. wanted_ordered = sorted(sorted(wanted.items(), key=lambda x: x[0]), key=lambda x: x[1], reverse=True)
  42. junk_oredered = sorted(junk.items(), key=lambda x: x[0])
  43.  
  44.  
  45. print(f'{win_item} obtained!')
  46. [print(f'{x[0]}: {x[1]}') for x in wanted_ordered]
  47. [print(f'{y[0]}: {y[1]}') for y in junk_oredered]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement