viligen

force_book

Nov 7th, 2021
928
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.72 KB | None | 0 0
  1. def if_user(any_dict, any_user):
  2.     for k, v in any_dict.items():
  3.         for el in v:
  4.             if el == any_user:
  5.                 return True
  6.     return False
  7.  
  8.  
  9. def remove_user(any_dict, any_user):
  10.     for k, v in any_dict.items():
  11.         for el in v:
  12.             if el == any_user:
  13.                 v.remove(any_user)
  14.     return any_dict
  15.  
  16.  
  17. force_book = {}
  18.  
  19. while True:
  20.     data = input()
  21.     if "Lumpawaroo" in data:
  22.         break
  23.     elif " | " in data:
  24.         side, user = data.split(" | ")
  25.         if not if_user(force_book, user) and side not in force_book.keys():
  26.             force_book[side] = []
  27.             force_book[side].append(user)
  28.         elif not if_user(force_book, user):
  29.             force_book[side].append(user)
  30.  
  31.     elif " -> " in data:
  32.         user, side = data.split(" -> ")
  33.         if not if_user(force_book, user) and side not in force_book.keys():
  34.             force_book[side] = []
  35.             force_book[side].append(user)
  36.         elif not if_user(force_book, user):
  37.             force_book[side].append(user)
  38.         elif if_user(force_book, user) and side in force_book:
  39.             force_book = remove_user(force_book, user)
  40.             force_book[side].append(user)
  41.         elif if_user(force_book, user) and side not in force_book:
  42.             force_book = remove_user(force_book, user)
  43.             force_book[side] = []
  44.             force_book[side].append(user)
  45.         else:
  46.             continue
  47.         print(f"{user} joins the {side} side!")
  48.  
  49. sorted_force_book = sorted(force_book.items(), key=lambda kvp: (-len(kvp[1]), kvp[0]))
  50. for k, v in sorted_force_book:
  51.     if len(v) > 0:
  52.         print(f"Side: {k}, Members: {len(v)}\n"+"\n".join(["! "+s for s in sorted(v)]))
  53.  
Advertisement
Add Comment
Please, Sign In to add comment