Como chamar uma funcao em Python passando uma lista como argumento/parametro?

17/11/2019

0

Bom dia,
Definie três funções: uma para calcular a soma dos elementos de uma lista (recebe uma lista de valores e retorna a soma com 4 casas decimais); outra para fazer a conversão dos elementos de uma lista em bytes para MB (recebe uma lista com valores inteiros e retorna uma lista com valores em MB, com 4 casas decimais) e outra para calcular o percentual de vada valor em relação ao total (recebe uma lista com os valores inteiros e a soma da função um e retorna uma lista com os valores em percentual).
Estou com dificuldade em chamar essas funções no programa principal, passando as listas como parâmetros.
Edmilson Souza

Edmilson Souza

Responder

Posts

12/12/2019

Lucas Leite

Bom dia,
Definie três funções: uma para calcular a soma dos elementos de uma lista (recebe uma lista de valores e retorna a soma com 4 casas decimais); outra para fazer a conversão dos elementos de uma lista em bytes para MB (recebe uma lista com valores inteiros e retorna uma lista com valores em MB, com 4 casas decimais) e outra para calcular o percentual de vada valor em relação ao total (recebe uma lista com os valores inteiros e a soma da função um e retorna uma lista com os valores em percentual).
Estou com dificuldade em chamar essas funções no programa principal, passando as listas como parâmetros.


Fala Edmilson, tudo certo?

Primeiro a função de soma de uma lista
def somar(arr):
    soma = 0
    for i in arr:
        soma += i
    return soma

print(somar([1, 2, 3, 4])) # Retorna valor 10


Segundo a função de converter bytes em megabytes
def converter(arr):
    mb = []
    for i in arr:
        mb.append(i / 1000000)

    return mb

print(converter([1000000, 2000000, 3000000, 4000000])) # Retorna 1.0, 2.0, 3.0, 4.0


Terceira função, o cálculo provavelmente não está certo, mas você deve usar sua lógica para isso (espero que eu tenha entendido essa terceira, fiquei um pouco bugado kkk)
def percentual(arr):
    soma = somar([1, 2, 3, 4])
    valoresPercentual = []
    for i in arr:
        soma += i
    for i in arr:
        valoresPercentual.append(i * (i / (soma - i))) # Troque para sua lógica de cálculo aqui
    return valoresPercentual

print(percentual([10, 20, 30, 40]))


Espero ter ajudado, bons estudos!
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar