1
resposta

Resolução do problema 9 com lambdas

diaria = 150;
kmLitro = 14;
vlGasolina = 5;
qtDias = 3;

cidades = ['Salvador','Fortaleza','Natal','Aracaju'];
diarias = [150,150,150,150];
distancias = [850,800,300,550];
passeios = [200,400,250,300];

def gasto_hotel(valoresDiarias):
    vlTotalDiaria = list(map(lambda x: x * qtDias, valoresDiarias));
    return vlTotalDiaria;

def gasto_gasolina(valoresDistancias):
    vlTotalGasolina = list(map(lambda x: round(((x * vlGasolina) / kmLitro),2), valoresDistancias));
    return vlTotalGasolina;

def gasto_passeio(valoresPasseios):
    vlTotalPasseio = list(map(lambda x: x * qtDias,valoresPasseios));
    return vlTotalPasseio;

def gasto_total_cidade(indiceCidade, listaDiarias,listaDistancias,listaPasseio):
    vlTotalHotel = gasto_hotel(listaDiarias)[indiceCidade];
    vlTotalGasolina = gasto_gasolina(listaDistancias)[indiceCidade];
    vlTotalPasseio = gasto_passeio(listaPasseio)[indiceCidade];
    
    vlTotalViagem = round(vlTotalHotel + vlTotalGasolina + vlTotalPasseio,2);
    return vlTotalHotel, vlTotalGasolina, vlTotalPasseio, vlTotalViagem;

cidade = input('Informe a cidade: ');

if (cidade in cidades):
    indice = cidades.index(cidade);
    valorHotel, valorGasolina, valorPasseio, valorTotal = gasto_total_cidade(indice,diarias,distancias,passeios);
    print(f'A cidade escolhida foi {cidade}, o índice dela é: {indice} e os valores apurados foram: Hotel = {valorHotel} Gasolina = {valorGasolina} Passeio = {valorPasseio} Total = {valorTotal}');
else:
    print('A cidade informada não é um valor válido. Por favor informe Salvador,Fortaleza,Natal ou Aracaju');
1 resposta

Oi, Márcio! Tudo bem?

Parabéns pelo código! É isso aí! A prática do conteúdo é algo que nos ajuda a internalizar o conhecimento adquirido e nesse processo caso tenha restado alguma dúvida em específico, sinta-se à vontade em comunicar, estou à disposição e ficarei super feliz em poder ajudar!

Um forte abraço e bons estudos!