Advertisement
Guest User

Untitled

a guest
Nov 21st, 2021
434
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.98 KB | None | 0 0
  1. import re
  2.  
  3. demons = input().split(', ')
  4. demon_book = {}
  5.  
  6. demon_health_pattern = r'[^\d\+\-*\/\.]'
  7. demon_damage_pattern = r'(?:\+|-)?[0-9]+(?:\.[0-9]+)?'
  8. demon_operators_pattern = r'[*\/]'
  9.  
  10. for demon in demons:
  11.     demon = demon.strip()
  12.     demon_health = re.findall(demon_health_pattern, demon)
  13.     demon_book[demon] = []
  14.     demon_book[demon].append(sum(ord(match) for match in demon_health))
  15.  
  16.     demon_damage = re.finditer(demon_damage_pattern, demon)
  17.     operators = re.findall(demon_operators_pattern, demon)
  18.     current_demon_damage = 0
  19.  
  20.     for value in demon_damage:
  21.         current_demon_damage += float(value.group(0))
  22.  
  23.     for operator in operators:
  24.         if operator == '*':
  25.             current_demon_damage *= 2
  26.         elif operator == '/':
  27.             current_demon_damage /= 2
  28.  
  29.     demon_book[demon].append(current_demon_damage)
  30.  
  31. for demon, qualities in sorted(demon_book.items()):
  32.     print(f'{demon} - {qualities[0]} health, {qualities[1]:.2f} damage')
  33.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement