def soma_inteiros(valores: list[int]) -> int:
"""
Calcula a soma de todos os valores em uma lista de números inteiros.
A função realiza validações para garantir que a entrada seja uma lista
não vazia e que todos os seus elementos sejam do tipo `int`.
Args:
valores: Uma lista contendo os números inteiros que serão somados.
Returns:
A soma total dos números inteiros na lista.
Raises:
TypeError: Se `valores` não for uma lista ou se qualquer elemento
dentro da lista não for do tipo `int`.
ValueError: Se a lista `valores` estiver vazia.
"""
if not isinstance(valores, list):
raise TypeError('"valores" não é do tipo [list]')
for valor in valores:
if not isinstance(valor, int):
raise TypeError(f'"{valor}" não é do tipo [int]')
if not valores:
raise ValueError('"valores" não pode estar vazio')
soma: int = 0
for valor in valores:
soma += valor
return soma
def main() -> None:
"""
Função principal que demonstra o uso da função `soma_inteiros`.
A função inicializa uma lista de inteiros, calcula a soma utilizando
a função auxiliar e exibe o resultado no console.
"""
soma: int = 0
valores: list[int] = [10, 20, 30, 40, 50]
soma = soma_inteiros(valores)
print(f'A soma total das receitas é: {soma}')
if __name__ == '__main__':
main()