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!

0
respostas

[Projeto] Re. Desafio: hora da prática

  1. Análise da lista
    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}.")
2. Função tabuada
def tabuada(numero: int):
print(f"Tabuada do {numero}:")
for i in range(11):
print(f"{numero} x {i} = {numero * i}")

num = int(input("Digite um número: "))
tabuada(num)
3. Múltiplos de 3
def multiplo_3(lista: list) -> list:
return [num for num in lista if num % 3 == 0]

lista = [97, 80, 94, 88, 80, 1, 16, 53, 62, 32, 24, 99]
mult_3 = multiplo_3(lista)

print(mult_3)
4. Quadrados com map e lambda
numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

resultado = list(map(lambda x: x ** 2, numeros))

print(resultado)
5. Nota de skatista
notas = []

for i in range(1, 6):
notas.append(float(input(f"Digite a {i}ª nota: ")))

def media(lista):
lista.remove(max(lista))
lista.remove(min(lista))
return sum(lista) / len(lista)

media_final = media(notas)

print(f"Nota da manobra: {round(media_final, 1)}")
6. Desempenho do estudante
def cadastro(lista):
maior = max(lista)
menor = min(lista)
media = sum(lista) / len(lista)

situacao = "Aprovado(a)" if media >= 6 else "Reprovado(a)"

return media, maior, menor, situacao

notas = [7, 8, 6, 5]
media, maior, menor, situacao = cadastro(notas)

print(f"O(a) estudante obteve uma média de {media}, com a sua maior nota de {maior} pontos e a menor nota de {menor} pontos e foi {situacao}")
7. Nome completo com map
nomes = ["joão", "MaRia", "JOSÉ"]
sobrenomes = ["SILVA", "souza", "Tavares"]

nomes_completos = map(lambda n, s: f"{n.title()} {s.title()}", nomes, sobrenomes)

for nome in nomes_completos:
print(f"Nome completo: {nome}")
8. Pontuação do time
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

gols_marcados = [2, 1, 3, 1, 0]
gols_sofridos = [1, 2, 2, 1, 3]

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)}%")
9. Cálculo de viagem
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

dias = 3
cidade = "Salvador"

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")
10. Filtrando palavras com lambda e filter
frase = "Aprender Python aqui na Alura é muito bom"

frase = frase.replace(",", " ").replace(".", " ").replace("!", " ").replace("?", " ").split()

resultado = list(filter(lambda x: len(x) >= 5, frase))

print(resultado)