1
resposta

Desafio: hora da prática - Aplicando Projetos

9. Cálculo dos gastos da viagem

Função para calcular gastos com hotel
def gasto_hotel(dias: int) -> float:
"""
Calcula o gasto com hotel.
Cada diária custa R$150.
"""
return dias * 150

Função para calcular gastos com gasolina
def gasto_gasolina(distancia: int) -> float:
"""
Calcula o gasto com gasolina.
Consumo: 14 km/l
Preço: R$5 por litro
"""
litros = distancia / 14
return litros * 5

Função para calcular gastos com passeios e alimentação
def gasto_passeio(dias: int, valor_diario: int) -> float:
"""
Calcula o gasto com passeios e alimentação.
"""
return dias * valor_diario

ida e volta
distancia_total = distancias[cidade] * 2

total = (
gasto_hotel(dias)
+ gasto_gasolina(distancia_total)
+ gasto_passeio(dias, passeios[cidade])
)

print(f"Com base nos gastos definidos, uma viagem de {dias} dias para {cidade} saindo de Recife custaria {total:.2f} reais")
Saída:

Código
Com base nos gastos definidos, uma viagem de 3 dias para Salvador saindo de Recife custaria 1757.14 reais

10. Filtrar palavras com 5 ou mais caracteres

frase = "Aprender Python aqui na Alura é muito bom"

substitui pontuação por espaço
frase_tratada = frase.replace(",", " ").replace(".", " ").replace("!", " ").replace("?", " ")

separa em palavras
palavras = frase_tratada.split()

filtra palavras com tamanho >= 5
palavras_filtradas = list(filter(lambda p: len(p) >= 5, palavras))

print(palavras_filtradas)

1 resposta

Ei! Tudo bem, Penha?

Que solução bem estruturada você apresentou para o desafio de calcular os gastos da viagem e filtrar palavras. Vamos conversar sobre cada parte do seu trabalho.

Na questão 9, você utilizou as funções def gasto_hotel, def gasto_gasolina e def gasto_passeio de forma muito organizada. O uso de type hints, como dias: int e o retorno float, deixa o código mais legível e profissional. A lógica para calcular o total dos gastos com hotel a R$ 150 por diária, gasolina com consumo de 14 km por litro e passeios por cidade está correta e bem encadeada. A variável distancia_total considerando ida e volta também foi um cuidado importante na hora de calcular o valor final da viagem saindo de Recife.

Na questão 10, o uso do replace para tratar a pontuação antes de separar as palavras foi uma escolha inteligente. Depois, aplicar a função filter com uma função lambda para filtrar palavras com 5 ou mais caracteres demonstra que você está compreendendo muito bem os conceitos de programação funcional em Python.

No geral, seu código está limpo, funcional e bem comentado, o que facilita a leitura e a manutenção.

Uma curiosidade, você já tentou usar list comprehension como alternativa ao filter com lambda? O resultado seria equivalente, mas com uma sintaxe ainda mais direta.

Conteúdos para complementar seus estudos
Esse conteúdo pode estar em inglês, para traduzi-lo utilize o tradutor automático do navegador ou clique com o botão direito do mouse sobre a página e selecione a opção Traduzir para o português.
Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!