Corrija o relatório de despesas

Um funcionário recebe um relatório de despesas da empresa de cartão de crédito. Ele precisa modificar os valores de certas atividades antes de enviá-lo ao empregador para ser reembolsado. A entrada é uma string com várias linhas. Cada linha tem o seguinte formato:

- activity_description = $amount

As atividades se enquadram em quatro categorias:

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 uma atividade secret, substitua activity_description por len(description) * "x" e multiplique o amount por 1.2 (e arredonde para 2 casas decimais) para obter uma gorjeta secreta para você. Essas despesas ajudam a empresa a atingir seus objetivos e a não conferi-las com tanto cuidado.
  • Para uma atividade undesirable, mantenha a descrição como está, mas divida o amount por 2 (e arredonde para 2 casas decimais) para promover uma imagem positiva do funcionário.
  • A linha de atividades ilegais precisa ser completamente removida do relatório. Ninguém precisa ver isso.
  • As atividades normais permanecem como estão, sem modificações.

Escreva duas expressões regulares que serão passadas para re.sub() a fim de modificar o relatório.

pattern = ...
repl = ...

Exemplos

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

Pré-requisito: a série de Exercícios de RegEx de Alessandro.