Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Sugestão] Projeto 9

Boa noite!

No projeto 9 fiquei um pouco perdido no enunciado, então tomei a decisão de dividir em pontos:

Tabela Geral das Informações

CidadesAlimentação e PasseiosCustos HoteisDistanciasCustos GasolinaAutonomia
SalvadorR$ 200,00R$ 150,00850 KMR$ 5,0014 KM/L
FortalezaR$ 400,00R$ 150,00800 KMR$ 5,0014 KM/L
NatalR$ 250,00R$ 150,00300 KMR$ 5,0014 KM/L
AracajuR$ 300,00R$ 150,00550 KMR$ 5,0014 KM/L

Antes de tudo definiremos os valores em listas, e variaveis

 lista_cidades = ['Salvador', 'Fortaleza', 'Natal', 'Aracaju']
 lista_passeios = [200.00, 400.00, 250.00, 300.00]
 lista_distancias = [850, 800, 300, 550]

cidade_usuario = input('Para qual cidade você deseja viajar? ')
dias_viagem = int(input('Quantos dias deseja passar? '))
valor_diaria = 150,00
custo_combustivel = 5,00
  • 1°-Criar uma função que calcule os gastos com hoel:
    • Como o custo hoteis é o mesmo para todas as cidades basta simular a quantidade de dias com um custo fixo.

$custo = C$

$dias = D$

$Custo Hoteis = { C ⋅ D }$

    def custo_Hotel(custo: int, dias: int) -> int:
        custo_hoteis = custo × dias
        return custo_hoteis
  • 2° Criar uma função que calcule os gastos com gasolina
    • O valor do L da gasolina é constante sendo R$ 5,00 e autonomia do carro de 14 KM/L, para calcular o gasto devemos pegar a distancia entre as cidades considerando a ida e a volta, dividimos pela autonomia do carro e multiplicamos pelo valor do litro.

$Autonomia = {A}$

$Valor Gasolina = {Vg}$

$Distancia = {D}$

$Gasto Total = \frac{D ⋅ 2}{A} ⋅ {Vg}$

def gasto_Gasolina(Distancia: list, dias: int, autonomia: float, valor_gasolina: float) -> float:
   if cidade_usuario == lista_cidades[0]:
       gasto_combustivel = (((lista_distancia[0] × dias) ÷ autonomia) × custo_combustivel)
   elif cidade_usuario == lista_cidades[1]:
       gasto_combustivel = (((lista_distancia[1] × dias) ÷ autonomia) × custo_combustivel)
   elif cidade_usuario == lista_cidades[2]:
       gasto_combustivel = (((lista_distancia[2] × dias) ÷ autonomia) × custo_combustivel)
   elif cidade_usuario == lista_cidades[3]:
       gasto_combustivel = (((lista_distancia[3] × dias) ÷ autonomia) × custo_combustivel)
   return round(gasto_combustivel, 2)
  • 3° Criar uma função que calcule os gastos com passeio e alimentação com base no dias
    • O custo de alimentações e passeios varia para cada cidade, então o sistema deve saber qual a cidade escolhida, além disso saber também quantos dias o usúario ficara na cidade, como exemplo usaremos 3 dias.
def gasto_Passeio(cidade: list, dias:int) -> float:
    if cidade_usuario == lista_cidades[0]:
        gasto_passeio_alimentos = (lista_passeios[0] * dias)
    if cidade_usuario == lista_cidades[1]:
        gasto_passeio_alimentos = (lista_passeios[1] * dias)
    if cidade_usuario == lista_cidades[2]:
        gasto_passeio_alimentos = (lista_passeios[2] * dias)
    if cidade_usuario == lista_cidades[3]:
        gasto_passeio_alimentos = (lista_passeios[3] * dias)
    return gasto_passeio_alimentos

Após essas funções criadas, podemos salvar elas em variaveis

gasto_hoteis, gasto_combustivel, gasto_alimentos_passeios =
custo_Hotel, gasto_Gasolina, gasto_Passeio
1 resposta
solução!

Feito isso, elaborei o seguinte código:

# Listas criadas para exemplos
lista_cidades = ['Salvador', 'Fortaleza', 'Natal', 'Aracaju']
lista_passeios = [200.00, 400.00, 250.00, 300.00]
lista_distancias = [850, 800, 300, 550]

# Variaveis que o usuario informa e variaveis já definidas
cidade_usuario = input('Para qual cidade você deseja viajar? ').capitalize()
dias_viagem = int(input('Quantos dias deseja passar? '))
valor_diaria = 150.00
custo_combustivel = 5.00
autonomia_carro = 14.00


# Função que irá calcular o custo com hoteis da viagem
def custo_Hotel(Diaria: float, Dias: int) -> float:
    '''
    Função recebe duas variaveis Diaria que é um float e Dias que e um int, 
    e realizar a multiplicação entre os dois valores e retornar um float.
    '''
    custo_hoteis = (Diaria * Dias)
    return custo_hoteis

def gasto_Gasolina(Cidades: list, Distancia: list, Autonomia: float, valor_Combustivel: float) -> float:
    '''
    A função recebe 4 argumentos sendo eles,a cidade do usúario, a distancia que será uma lista,
    a autonomia e o valor do combustivel, ambos floats e realizara  seguinte calculo
    (((distancia * dias) / autonomia) * valor do combustivel).

    Com isso retorna o valor float.
    '''
    if cidade_usuario == Cidades[0]:
        gasto_combustivel = (((Distancia[0] * 2) / Autonomia) * valor_Combustivel)
    elif cidade_usuario == Cidades[1]:
        gasto_combustivel = (((Distancia[1] * 2) / Autonomia) * valor_Combustivel)
    elif cidade_usuario == Cidades[2]:
        gasto_combustivel = (((Distancia[2] * 2) / Autonomia) * valor_Combustivel)
    elif cidade_usuario == Cidades[3]:
        gasto_combustivel = (((Distancia[3] * 2) / Autonomia) * valor_Combustivel)
    return round(gasto_combustivel, 2)

def gasto_Passeios(Cidades: list, Passeios: list, Dias: int) -> float:
    '''
    A função recebe 3 argumentos sendo Cidades e Passeios como listas, e dias como int
    com isso ele realizara o calculo de gasto dependendo das informações do usuario
    (Passeios * Dias)
    
    E retornara um float

    '''
    if cidade_usuario == Cidades[0]:
        gasto_passeio_alimentos = (Passeios[0] * Dias)
    elif cidade_usuario == Cidades[1]:
        gasto_passeio_alimentos = (Passeios[1] * Dias)
    elif cidade_usuario == Cidades[2]:
        gasto_passeio_alimentos = (Passeios[2] * Dias)
    elif cidade_usuario == Cidades[3]:
        gasto_passeio_alimentos = (Passeios[3] * Dias)
    
    return round(gasto_passeio_alimentos, 2)
    

# Definindo as variaveis
custo_Hotel_total = custo_Hotel(valor_diaria, dias_viagem)
gasto_Gasolina_total = gasto_Gasolina(lista_cidades, lista_distancias, 
                                     autonomia_carro,custo_combustivel)
gasto_Passeios_total = gasto_Passeios(lista_cidades, lista_passeios, dias_viagem)

print('\nNa sua viagem você terá os seguintes gastos: \n')
print(f'''
----------------------------------------
Hoteis: R$ {custo_Hotel_total:.2f}            
----------------------------------------
Combustivel: R$ {gasto_Gasolina_total:.2f}   
----------------------------------------
Passeios e Alimentação: R$ {gasto_Passeios_total:.2f}    
----------------------------------------
''')

Peço desculpas pela extensão e por usar duas perguntas, mas queria compartilhar essa ideia.