Advertisement
pacho_the_python

Untitled

Mar 24th, 2022
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.89 KB | None | 0 0
  1. import re
  2.  
  3. demon_data = input().split(", ")
  4. demon_book = {}
  5. pattern = r"([+-]?[\d+]\.?[\d+]?)"
  6.  
  7. for demon in demon_data:
  8.  
  9.     multi_divide = [x for x in demon if x in "/*"]
  10.  
  11.     demon_hp = 0
  12.     for i in demon:
  13.         if not i.isdigit() and i not in "+-*/.":
  14.             demon_hp += ord(i)
  15.  
  16.     numbers = re.finditer(pattern, demon)
  17.     current_demon_damage = []
  18.     for i in numbers:
  19.         current_demon_damage.append(float(i.group()))
  20.     demon_damage = (sum(current_demon_damage))
  21.  
  22.     for symbol in multi_divide:
  23.         if symbol == "*":
  24.             demon_damage *= 2
  25.         elif symbol == "/":
  26.             demon_damage /= 2
  27.  
  28.     demon_book[demon] = [demon_hp, demon_damage]
  29.  
  30. sorted_demon_book = {k: v for k, v in sorted(demon_book.items())}
  31. for stat in sorted_demon_book:
  32.     print(f"{stat} - {sorted_demon_book[stat][0]} health, {sorted_demon_book[stat][1]:.2f} damage ")
  33.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement