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 = $amountAs 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, substituaactivity_descriptionporlen(description) * "x"e multiplique oamountpor1.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 oamountpor2(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.