Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
1
resposta

[Projeto] Desafio: hora da prática

1:
lista = [16, 14, 63, 65, 17, 99, 70, 11, 20, 48, 79, 32, 17, 89, 12, 25, 66]
tam = len(lista)
maior = max(lista)
menor = min(lista)
soma = sum(lista)
print(f"A lista possui {tam} números em que o maior número é {maior} e o menor número é {menor}. A soma dos valores presentes nela é igual a {soma}.")
A lista possui 17 números em que o maior número é 99 e o menor número é 11. A soma dos valores presentes nela é igual a 743.

2:
num = int(input("Digite um número inteiro de 1 a 10:"))
def tabuada(numero: int):
print(f'Tabuada do {numero}:')
for i in range(11):
resultado = numero * i
print(f'{numero} x {i} = {resultado}')
tabuada(num)
Digite um número inteiro de 1 a 10:3
Tabuada do 3:
3 x 0 = 0
3 x 1 = 3
3 x 2 = 6
3 x 3 = 9
3 x 4 = 12
3 x 5 = 15
3 x 6 = 18
3 x 7 = 21
3 x 8 = 24
3 x 9 = 27
3 x 10 = 30

3:
lista = [97, 80, 94, 88, 80, 1, 16, 53, 62, 32, 24, 99]
mult_3 = []
def multiplo_3(lista: list) -> list:
for i in range(len(lista)):
if lista[i] % 3 == 0:
mult_3.append(lista[i])
return mult_3
mult_3 = multiplo_3(lista)
mult_3
[24, 99]

4:
numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
quadrado = lambda x: x ** 2
resultado = list(map(quadrado, numeros))
resultado
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

5:
notas = []
for i in range(1,6):
nota = float(input(f"Digite a {i}ª nota: "))
notas.append(nota)
def media(lista):
lista.remove(max(lista))
lista.remove(min(lista))
return sum(lista) / len(lista)
media = media(notas)
print(f"Nota da manobra: {round(media, 1)}")
Digite a 1ª nota: 8
Digite a 2ª nota: 6
Digite a 3ª nota: 9
Digite a 4ª nota: 7
Digite a 5ª nota: 8
Nota da manobra: 7.7

6:
notas = []
for i in range(1,5):
nota = float(input(f"Digite a {i}ª nota: "))
notas.append(nota)
def cadastro(lista):
maior = max(lista)
menor = min(lista)
media = sum(lista) / len(lista)
if media >= 6:
situacao = "Aprovado(a)"
else:
situacao = "Reprovado(a)"
return (media, maior, menor, situacao)
media, maior, menor, situacao = cadastro(notas)
print(f"O(a) estudante obteve uma media de {media}, com a sua maior nota de {maior} pontos e a menor nota de {menor} pontos e foi {situacao}")
Digite a 1ª nota: 8
Digite a 2ª nota: 6
Digite a 3ª nota: 4
Digite a 4ª nota: 9
O(a) estudante obteve uma media de 6.75, com a sua maior nota de 9.0 pontos e a menor nota de 4.0 pontos e foi Aprovado(a)

7:
nomes = ["joão", "MaRia", "JOSÉ"]
sobrenomes = ["SILVA", "souza", "Tavares"]
nome_completo = map(lambda nome, sobrenome: f'{nome.title()} {sobrenome.title()}', nomes, sobrenomes)
for n in nome_completo:
print(f'Nome completo: {n}')
Nome completo: João Silva
Nome completo: Maria Souza
Nome completo: José Tavares

8:
gols_marcados = [2, 1, 3, 1, 0]
gols_sofridos = [1, 2, 2, 1, 3]
def calcula_pontos(gols_marcados, gols_sofridos):
pontos = 0
for i in range(len(gols_marcados)):
if gols_marcados[i] > gols_sofridos[i]:
pontos += 3
elif gols_marcados[i] == gols_sofridos[i]:
pontos += 1
aprov = 100 * pontos / (len(gols_marcados) * 3)
return (pontos, aprov)
pontos, aprov = calcula_pontos(gols_marcados, gols_sofridos)
print(f"A pontuação do time foi de {pontos} e seu aproveitamento foi de {round(aprov)}%")
A pontuação do time foi de 7 e seu aproveitamento foi de 47%

9:
dias = int(input("Quantas diárias? "))
cidade = input("Qual a cidade? [Salvador, Fortaleza, Natal ou Aracaju]: ")
distancias = [850, 800, 300, 550]
passeio = [200, 400, 250, 300]
km_l = 14
gasolina = 5
def gasto_hotel(dias):
return 150 * dias
def gasto_gasolina(cidade):
if cidade == "Salvador":
return (2 * distancias[0] * gasolina) / km_l
elif cidade == "Fortaleza":
return (2 * distancias[1] * gasolina) / km_l
elif cidade == "Natal":
return (2 * distancias[2] * gasolina) / km_l
elif cidade == "Aracaju":
return (2 * distancias[3] * gasolina) / km_l
def gasto_passeio(cidade, dias):
if cidade=="Salvador":
return passeio[0] * dias
elif cidade=="Fortaleza":
return passeio[1] * dias
elif cidade=="Natal":
return passeio[2] * dias
elif cidade=="Aracaju":
return passeio[3] * dias
gastos = gasto_hotel(dias) + gasto_gasolina(cidade) + gasto_passeio(cidade, dias)
print(f"Com base nos gastos definidos, uma viagem de {dias} dias para {cidade} saindo de Recife custaria {round(gastos, 2)} reais")
Quantas diárias? 2
Qual a cidade? [Salvador, Fortaleza, Natal ou Aracaju]: Natal
Com base nos gastos definidos, uma viagem de 2 dias para Natal saindo de Recife custaria 1014.29 reais

10:
frase = input("Digite uma frase: ")
frase = frase.replace(',',' ').replace('.',' ').replace('!',' ').replace('?',' ').split()
tamanho = list(filter(lambda x: len(x) >= 5, frase))
print(tamanho)
Digite uma frase: ola, quanto tempo
['quanto', 'tempo']

1 resposta
solução!

Olá, Silvana! Como vai?

Parabéns pela resolução da atividade!

Vi que você explorou o lambda para aplicar funções em listas com Python, utilizou muito bem o map para transformar elementos e ainda compreendeu a importância da função para organizar cálculos.

Continue postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Uma dica interessante para o futuro é aplicar list comprehensions em situações semelhantes. Assim:

numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
resultado = [x**2 for x in numeros]
print(resultado)

Isso faz a mesma operação de forma mais concisa e legível.

Alguns materiais podem estar em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.

Ah, uma pergunta: você acha que é mais vantajoso aprender primeiro a aplicar funções com map ou começar direto com list comprehensions para simplificar o código?

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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