Advertisement
simeonshopov

ForceBook

Feb 5th, 2020
272
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.75 KB | None | 0 0
  1. forces = {}
  2.  
  3. def check_value(d: dict, us: str):
  4.     for (x, y) in d.items():
  5.         if us in d[x]:
  6.             return True
  7.  
  8.  
  9. def find_key(d: dict, val: str):
  10.     for x, y in d.items():
  11.         if val in y:
  12.             return x
  13.  
  14.  
  15. while True:
  16.     data = input()
  17.     if data == 'Lumpawaroo':
  18.         break
  19.     if '|' in data:
  20.         data = data.split(' | ')
  21.         side = data[0]
  22.         user = data[1]
  23.         if side not in forces:
  24.             if not check_value(forces, user):
  25.                 forces[side] = [user]
  26.         elif side in forces and user not in forces[side]:
  27.             forces[side].append(user)
  28.     elif '->' in data:
  29.         data = data.split(' -> ')
  30.         user = data[0]
  31.         side = data[1]
  32.         if not check_value(forces, user) and side in forces:
  33.             forces[side].append(user)
  34.             print(f'{user} joins the {side} side!')
  35.         elif not check_value(forces, user) and side not in forces:
  36.             forces[side] = [user]
  37.             print(f'{user} joins the {side} side!')
  38.         elif check_value(forces, user):
  39.             key = find_key(forces, user)
  40.             if side in forces:
  41.                 forces[key].remove(user)
  42.                 forces[side].append(user)
  43.                 print(f'{user} joins the {side} side!')
  44.             else:
  45.                 forces[side] = [user]
  46.                 forces[key].remove(user)
  47.                 print(f'{user} joins the {side} side!')
  48.  
  49. order = sorted(sorted(forces, key=lambda x: x), key=lambda x: len(forces[x]), reverse=True)
  50.  
  51. for i in order:
  52.     length = len(forces[i])
  53.     if length > 0:
  54.         print(f'Side: {i}, Members: {length}')
  55.         user_order = sorted(forces[i], key=lambda x: x)
  56.         [print(f'! {x}') for x in user_order]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement