Executando verificação de segurança...
6

Sem modificar as funções, uma alternativa é colocar todos os valores em uma tupla, e depois usar a sintaxe de unpacking ao chamá-las:

params = (valor_bruto, aliquota, deducoes, dependentes, estado)
 
calcular_imposto(*params)
calcular_salario_liquido(*params)
gerar_holerite(*params)

Repare no asterisco antes de params, é ele que faz o unpacking: o primeiro elemento da tupla é passado como o primeiro argumento da função, o segundo elemento é passado como o segundo argumento e assim por diante.


Claro que tem outras soluções mais rebuscadas, como criar uma classe que contém todos os valores, aí as funções só recebem a instância da classe. Mas aí precisa avaliar se justifica aumentar a complexidade.

Por exemplo, se não puder mudar as funções, a solução com unpacking me parece mais interessante.

Carregando publicação patrocinada...