1
resposta

1º Parte Python-data-science-primeiros-passos - Estruturas de dados

1.

Lista de gastos da empresa

gastos = [2172.54, 3701.35, 3518.09, 3456.61, 3249.38, 2840.82, 3891.45, 3075.26, 2317.64, 3219.08]

Cálculo da média

media_gastos = sum(gastos) / len(gastos)

Exibição do resultado

print(f'A média dos gastos da empresa é: R$ {media_gastos:.2f}')

2.

Lista de gastos da empresa

gastos = [2172.54, 3701.35, 3518.09, 3456.61, 3249.38, 2840.82, 3891.45, 3075.26, 2317.64, 3219.08]

Filtrando os gastos acima de 3000 reais

gastos_acima_3000 = [gasto for gasto in gastos if gasto > 3000]

Quantidade de compras acima de 3000

quantidade_acima_3000 = len(gastos_acima_3000)

Porcentagem em relação ao total

porcentagem = (quantidade_acima_3000 / len(gastos)) * 100

Exibindo os resultados

print(f'Quantidade de compras acima de R$ 3000: {quantidade_acima_3000}')
print(f'Porcentagem em relação ao total: {porcentagem:.2f}%')

3.

Inicializa a lista vazia

numeros = []

Coleta de 5 números inteiros

for i in range(5):
    numero = int(input(f'Digite o {i+1}º número inteiro: '))
    numeros.append(numero)

Exibe a lista final

print(f'Lista de números digitados: {numeros}')

4.

Inicializa a lista vazia

numeros = []

Coleta de 5 números inteiros

for i in range(5):
    numero = int(input(f'Digite o {i+1}º número inteiro: '))
    numeros.append(numero)

Exibe a lista em ordem inversa

print(f'Lista em ordem inversa: {numeros[::-1]}')

5.

Função para verificar se um número é primo

def eh_primo(n):
    if n < 2:
        return False
    for i in range(2, int(n**0.5) + 1):
        if n % i == 0:
            return False
    return True

Entrada do usuário

limite = int(input('Digite um número inteiro: '))

Geração da lista de primos

primos = [num for num in range(1, limite + 1) if eh_primo(num)]

Exibição da lista

print(f'Números primos entre 1 e {limite}: {primos}')

6.
from datetime import datetime

Entrada do usuário

dia = int(input('Digite o dia: '))
mes = int(input('Digite o mês: '))
ano = int(input('Digite o ano: '))

Verificação de validade

try:
    data = datetime(ano, mes, dia)
    print(f'A data {data.strftime("%d/%m/%Y")} é válida para análise.')
except ValueError:
    print('Data inválida. Por favor, insira uma data real.')

7.

Lista com o número de bactérias por dia (em milhares)

bacterias = [1.2, 2.1, 3.3, 5.0, 7.8, 11.3, 16.6, 25.1, 37.8, 56.9]

Lista para armazenar os percentuais de crescimento

crescimento_percentual = []

Cálculo do crescimento percentual a partir do segundo dia

for i in range(1, len(bacterias)):
    crescimento = 100 * (bacterias[i] - bacterias[i - 1]) / bacterias[i - 1]
    crescimento_percentual.append(round(crescimento, 2))

Exibição dos resultados

print(f'Crescimento percentual por dia: {crescimento_percentual}')

8.

Lista para armazenar os IDs

ids = []

Coleta de 10 IDs

for i in range(10):
    id_produto = int(input(f'Digite o {i+1}º ID do produto: '))
    ids.append(id_produto)

Contadores de doces e amargos

doces = 0
amargos = 0

Classificação dos produtos

for id in ids:
    if id % 2 == 0:
        doces += 1
    else:
        amargos += 1

Exibição dos resultados

print(f'Total de produtos doces (ID par): {doces}')
print(f'Total de produtos amargos (ID ímpar): {amargos}')

9.

Gabarito da prova

gabarito = ['D', 'A', 'C', 'B', 'A', 'D', 'C', 'C', 'A', 'B']

Lista para armazenar as respostas do aluno

respostas_aluno = []

Coleta das respostas

for i in range(10):
    resposta = input(f'Digite a resposta da questão {i+1} (A, B, C ou D): ').strip().upper()
    respostas_aluno.append(resposta)

Cálculo da nota

nota = 0
for i in range(10):
    if respostas_aluno[i] == gabarito[i]:
        nota += 1

Exibição da nota final

print(f'A nota do(a) aluno(a) é: {nota}')

10.

Lista com os nomes dos meses

meses = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho',
         'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro']

Lista para armazenar as temperaturas médias

temperaturas = []

Coleta das temperaturas

for i in range(12):
    temp = float(input(f'Digite a temperatura média de {meses[i]}: '))
    temperaturas.append(temp)

Cálculo da média anual

media_anual = sum(temperaturas) / len(temperaturas)

Exibição da média anual

print(f'\nTemperatura média anual: {media_anual:.2f}°C')

Exibição dos meses com temperatura acima da média

print('\nMeses com temperatura acima da média anual:')
for i in range(12):
    if temperaturas[i] > media_anual:
        print(f'{meses[i]}: {temperaturas[i]:.2f}°C')

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Oi, John! Como vai?
Agradeço por compartilhar seu código com a comunidade Alura.

O código mostra que você compreendeu bem o uso de listas, compreensões de lista e estruturas condicionais!

Uma dica interessante para o futuro é usar a função enumerate() quando precisar percorrer listas com os índices. Isso deixa o código mais limpo e evita precisar usar range(len(lista)). Veja este exemplo:


numeros = [10, 20, 30]
for indice, valor in enumerate(numeros):
    print(f'Posicao {indice}: valor {valor}')

Esse código mostra o índice e o valor de cada elemento da lista, facilitando a leitura e o controle do loop.
Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!