Corrige el informe de gastos

Un empleado recibe un informe de gastos de la compañía de tarjetas de crédito. Debe modificar los importes de ciertas actividades antes de presentarlo a su empleador para que se los reembolse. La entrada es una cadena multilínea. Cada línea tiene la siguiente forma:

- activity_description = $amount

Las actividades se dividen en cuatro categorías:

activity = {
  "secret": ["bribery", "spying", "settlement", "poaching"],
  "undesirable": ["gambling", "alcohol", "sex"],
  "illegal": ["drugs", "gun", "speeding"]
}

# "normal" ⁠— any other activity that does not have a word
# (case non-sensitive) from the 3 lists mentioned above.
  • Para una actividad secret, reemplaza activity_description por len(description) * "x" y multiplica el amount por 1.2 (y redondéalo a 2 decimales) para obtener una propina secreta para ti. Estos gastos ayudan a la empresa a alcanzar sus objetivos y a que no se revisen con demasiado cuidado.
  • Para una actividad undesirable, mantén la descripción tal como está, pero divide el amount por 2 (y redondéalo a 2 decimales) para promover una imagen positiva del empleado.
  • La línea de las actividades ilegales debe eliminarse por completo del informe. Nadie tiene por qué verla.
  • Las actividades normales permanecen sin cambios.

Escribe dos expresiones regulares que se pasarán a re.sub() para modificar el informe.

pattern = ...
repl = ...

Ejemplos

8 activities: 2 from each category
s = """
- Rental car costs = $175.00
- Supplier bribery = $70000.00
- Coffee with secretary = $5.20
- Speeding ticket = $15.99
- Spying on competitors = $900.00
- Electroshock gun = $1500.00
- Online gambling = $500.00
- Alcoholic cocktail = $16.00
"""

re.sub(pattern, repl, s) ➞

6 remaining activities: 4 modified, 2 kept unchanged, 2 replaced with empty sting
"""
- Rental car costs = $175.00
- xxxxxxxxxxxxxxxx = $84000.00
- Coffee with secretary = $5.20
- xxxxxxxxxxxxxxxxxxxxx = $1080.00
- Online gambling = $250.00
- Alcoholic cocktail = $8.00
"""

Notas

Prerequisito: la serie de Ejercicios de RegEx de Alessandro.