CSE 111: Programando com funções

Exemplo de Solução

O seguinte programa mostra uma maneira de resolver este problema. Essa não é a única forma possível de solucioná-lo.

 
# Copyright 2020, Brigham Young University-Idaho. Todos os direitos reservados.

"""
Escreva um programa em Python chamado consumo_de_combustivel.py que peça três números ao usuário:
1. O valor inicial do odômetro em quilômetros
2. O valor final do odômetro em quilômetros
3. A quantidade de combustível consumida em litros

Seu programa deve calcular e exibir o consumo de combustível em quilômetros por litros, e fazer
as conversões para obter também o resultado em milhas por galão.
Além disso, o programa deve conter três funções com os seguintes nomes:
1. main
2. quilometros_por_litro
3. milhas_por_galao

Todas as entradas do usuário e funções print devem estar na função main.
Ou seja, as funções quilometros_por_litro e milhas_por_galao não devem
chamar as funções input ou print.
"""


def main():

    # Obtém do usuário o valor inicial do odômetro em quilômetros
    odometro_inicial = float(input("Qual o valor inicial do odômetro em quilômetros? "))

    # Obtém do usuário o valor final do odômetro em quilômetros
    odometro_final = float(input("Qual o valor final do odômetro em quilômetros? "))

    # Obtém do usuário a quantidade de combustível em litros
    quantidade_de_litros = float(input("Qual a quantidade de combustível consumida em litros? "))

    # Chama a função quilometros_por_litro, calcula o consumo em
    # quilômetros por litro e armazena
    # o resultado em uma variável chamada kml
    kml = quilometros_por_litro(odometro_inicial, odometro_final, quantidade_de_litros)

    # Chama a função milhas_por_galao e armazena
    # o resultado em uma variável chamada mpg
    mpg = milhas_por_galao(odometro_inicial, odometro_final, quantidade_de_litros)

    # Exibe os resultados para o usuário
    print(f"{kml:.1f} quilômetros por litro")
    print(f"{mpg:.2f} milhas por galão")

def quilometros_por_litro(valor_inicial, valor_final, quantidade_de_litros):
    """
    Calcula e retorna o consumo em quiLômetros por litro
    Parâmetros
        valor_inicial: O valor inicial do odômetro em quilômetros
        valor_final: O valor final do odômetro em quilômetros
        quantidade_de_litros: A quantidade de combustível consumida em litros
    Retorna: Consumo de combustível em quilômetros por litro.
    """
    consumo_kml = (valor_final - valor_inicial) / quantidade_de_litros
    return consumo_kml

def milhas_por_galao(valor_inicial, valor_final, quantidade_de_litros):
    """
    Converte litros e quilômetros para galões e milhas
    e retorna o consumo em milhas por galão
    Parâmetros
        valor_inicial: O valor inicial do odômetro em quilômetros
        valor_final: O valor final do odômetro em quilômetros
        quantidade_de_litros: A quantidade de combustível em litros
    Retorna: Consumo de combustível em milhas por galão.
    """
    galoes = quantidade_de_litros * 0.26417
    milhas_percorridas = (valor_final - valor_inicial) / 1.609
    consumo_mpg = milhas_percorridas / galoes
    return consumo_mpg

# Chama a função main para que
# o programa seja executado.
main()