Foto de Ricardo S.
Ricardo há 2 meses
Enviada pelo
Site

Escreva um código em python que seleciona o maior, o menor e

Escreva um código em python que seleciona o maior, o menor e a média dos elementos de uma lista
2 respostas
Minerva IA
Inteligência Artificial do Profes
Respondeu há 2 meses

Claro! Você pode usar o código abaixo para encontrar o maior, o menor e a média dos elementos de uma lista em Python:

def analisar_lista(numeros):
    if len(numeros) == 0:
        return {"maior": None, "menor": None, "média": None}

    maior = max(numeros)
    menor = min(numeros)
    media = sum(numeros) / len(numeros)

    return {"maior": maior, "menor": menor, "média": media}

# Exemplo de utilização
lista = [10, 20, 30, 40, 50]
resultado = analisar_lista(lista)

print(f"Maior: {resultado['maior']}")
print(f"Menor: {resultado['menor']}")
print(f"Média: {resultado['média']}")

Este código define uma função analisar_lista que calcula o maior, o menor e a média dos valores em uma lista. A função também trata o caso de uma lista vazia, retornando None para cada valor nesse caso. Você pode substituir a lista de exemplo por qualquer lista de números que deseja analisar.

Já tem uma conta? Entrar
Ao me cadastrar, confirmo que li e concordo com os Termos de Uso .
Envie uma dúvida grátis
Resposta na hora da Minerva IA e de professores particulares
Enviar dúvida
Professora Thalita S.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 1 mês
Contatar Thalita

O código que você forneceu está muito bem estruturado! Ele realiza a tarefa de encontrar o maior, o menor e a média dos elementos de uma lista de números de maneira eficiente e clara.

Aqui está um pequeno resumo de como o código funciona:

### Descrição do Funcionamento

1. **Função `analisar_lista(numeros)`**:
   - Verifica se a lista `numeros` está vazia. Se a lista estiver vazia, a função retorna um dicionário com os valores `None` para "maior", "menor" e "média".
   - Caso a lista não seja vazia, a função:
     - Calcula o **maior número** da lista com a função `max()`.
     - Calcula o **menor número** com a função `min()`.
     - Calcula a **média** somando todos os elementos da lista e dividindo pela quantidade de elementos, utilizando `sum(numeros) / len(numeros)`.

2. **Exemplo de uso**:
   - Você cria uma lista com os números `[10, 20, 30, 40, 50]` e passa essa lista como argumento para a função.
   - O resultado é retornado em um dicionário, que é então impresso para mostrar o maior, o menor e a média dos números.

### Saída Esperada
Quando você executa o programa com a lista de exemplo, a saída seria:

```
Maior: 50
Menor: 10
Média: 30.0
```

### Caso de Lista Vazia
A função também lida bem com o caso de uma lista vazia. Por exemplo:

```python
lista_vazia = []
resultado_vazio = analisar_lista(lista_vazia)
print(resultado_vazio)
```

A saída será:

```
{'maior': None, 'menor': None, 'média': None}
```

### Possíveis Melhorias

- **Tratamento de entrada**: Adicionar um tratamento de erro para garantir que a entrada seja uma lista de números (inteiros ou flutuantes).
- **Performance**: Caso a lista seja muito grande, o código ainda será eficiente para encontrar o maior, o menor e a média, mas você poderia otimizar um pouco a parte da média, calculando a soma enquanto percorre a lista.

### Código otimizado para soma durante a iteração:

Se a lista for muito grande e você quiser uma abordagem que calcule a soma enquanto determina o maior e menor número, você pode fazer algo assim:

```python
def analisar_lista_otimizado(numeros):
    if len(numeros) == 0:
        return {"maior": None, "menor": None, "média": None}

    maior = menor = numeros[0]
    soma = 0

    for numero in numeros:
        if numero > maior:
            maior = numero
        if numero < menor:
            menor = numero
        soma += numero

    media = soma / len(numeros)

    return {"maior": maior, "menor": menor, "média": media}

# Exemplo de utilização
lista = [10, 20, 30, 40, 50]
resultado = analisar_lista_otimizado(lista)

print(f"Maior: {resultado['maior']}")
print(f"Menor: {resultado['menor']}")
print(f"Média: {resultado['média']}")
```

Esse código realiza a análise em uma única passagem pela lista, o que pode ser um pouco mais eficiente para listas muito grandes, especialmente se o cálculo de média for uma preocupação de desempenho.

Se precisar de mais alguma ajuda ou ajustes no código, estou à disposição!

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta
Minerva IA
do Profes
Respostas na hora
100% no WhatsApp
Envie suas dúvidas pelo App. Baixe agora
Precisa de outra solução? Conheça
Aulas particulares Encontre um professor para combinar e agendar aulas particulares Buscar professor