1
resposta

Resolução do desafio: hora da prática V - Estruturas de dados - Aquecendo na programação

https://cursos.alura.com.br/forum/curso-python-data-science-primeiros-passos/exercicio-desafio-hora-da-pratica/123737/novo

#Aquecendo na programação
# 1)
gastos = [2172.54, 3701.35, 3518.09, 3456.61, 3249.38, 2840.82, 3891.45, 3075.26, 2317.64, 3219.08]
media = sum(gastos) / len(gastos)
print(f'A média de gastos é {media}')

# A média de gastos é 3144.222
# 2) 
gastos = [2172.54, 3701.35, 3518.09, 3456.61, 3249.38, 2840.82, 3891.45, 3075.26, 2317.64, 3219.08]
compraAcimaLimite = 0
valoresAcima = []
qtde = 0

while qtde < len(gastos):
    if gastos[qtde] > 3000:
        compraAcimaLimite += 1 
        valoresAcima.append(gastos[qtde])   
    qtde += 1   

percentCompras = (compraAcimaLimite / len(gastos)) * 100

print(f'Compras acima de R$ 3000,00: {compraAcimaLimite}')
print(f'Porcentagem: {percentCompras:.2f}%')
print(f'Valores das compras: {valoresAcima}')

# Compras acima de R$ 3000,00: 7
# Porcentagem: 70.00%
# Valores das compras: [3701.35, 3518.09, 3456.61, 3249.38, 3891.45, 3075.26, 3219.08]
# 3)
lista = []
qtde = 0

while qtde < 5:
    numeros = int(input(f'informe números inteiros: '))
    lista.append(numeros)
    qtde += 1

print(f'Lista formada com {qtde} números informados: {lista}')

# informe números inteiros: -5
# informe números inteiros: 7
# informe números inteiros: 0
# informe números inteiros: 13
# informe números inteiros: 2
# Lista formada com 5 números informados: [-5, 7, 0, 13, 2]
# 4) 
lista = []
qtde = 0

while qtde < 5:
    numeros = int(input(f'informe números inteiros: '))
    lista.append(numeros)
    qtde += 1

lista.reverse()
print(f'Lista invertida formada com {qtde} números informados: {lista}')

# informe números inteiros: 5
# informe números inteiros: 4
# informe números inteiros: 3
# informe números inteiros: 2
# informe números inteiros: 1
# Lista invertida formada com 5 números informados: [1, 2, 3, 4, 5]
# 5) 
num = int(input('informe um número: '))
listaPrimos = []

for i in range(2, num):             # laço externo p/ pegar um número da sequência
    numEhPrimo = True
    for j in range(2, i):           # laço interno p/ verificar se o número é primo
        if i % j == 0:
            numEhPrimo = False
            break
    if numEhPrimo:
        listaPrimos.append(i)

print(f'Números primos entre 1 e {num} são: {listaPrimos}')

# informe um número: 11
# Números primos entre 1 e 11 são: [2, 3, 5, 7]
# 6) 
print('Informe uma data (formato 00:00:0000)')
dia = int(input('Dia: '))
mes = int(input('Mês: '))
ano = int(input('Ano: '))

mes30 = [4, 6, 9, 11]
mes31 = [1, 3, 5, 7, 8, 10, 12]
data = True

if dia < 1 or dia > 31:
    data = False

if mes < 1 or mes > 12:
    data = False

if mes in mes30 and dia > 30:       # Dias máximos por mês
    data = False
elif mes == 2:
    if (ano % 4 == 0 and ano % 100 != 0) or (ano % 400 == 0):     # Ano bissexto
        if dia > 29:
            data = False
    else:                       # Não é bissexto
        if dia > 28:
            data = False

if data:
    print(f'\n{dia}:{mes}:{ano} é uma data válida!')
else:
    print('\nData inválida!')

# Informe uma data (formato 00:00:0000)
# Dia: 13
# Mês: 12
# Ano: 1981

# 13:12:1981 é uma data válida!
1 resposta

Oi! Tudo bem?

Obrigada por compartilhar seu código com a comunidade Alura.

Você mandou muito bem nas resoluções! Está utilizando estruturas de repetição, condicionais e listas de forma coerente. Isso mostra domínio crescente dos fundamentos.

Uma dica legal para o futuro é usar o recurso de fatiamento de listas (list slicing). Por exemplo, se você quiser pegar os três primeiros itens de uma lista chamada compras, pode fazer assim:


compras = ["leite", "ovos", "arroz", "feijão", "pão"]
primeiros_itens = compras[:3]

print(primeiros_itens)  # Saída: ['leite', 'ovos', 'arroz']

É uma forma limpa e rápida de acessar partes da lista sem precisar de um for ou if.

Qualquer dúvida que surgir, compartilhe no fórum.

Abraços e bons estudos!

Alura

Conte com a comunidade Alura durante seus estudos. Estamos juntos!